fork download
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4.  
  5. unsigned int gcd(unsigned int u, unsigned int v) {
  6. if(u==v) return u;
  7. if(u==0) return v;
  8. if(v==0) return u;
  9. if(~u & 1) {
  10. if(v & 1) return gcd(u>>1, v);
  11. else return gcd(u>>1, v>>1)<<1;
  12. }
  13. if(~v & 1) return gcd(u, v>>1);
  14. if(u>v) return gcd((u-v)>>1, v);
  15. return gcd((v-u)>>1, u);
  16. }
  17.  
  18. int main() {
  19. int t, n;
  20. long long m;
  21. scanf("%d", &t);
  22. while(t--) {
  23. scanf("%d%lld", &n, &m);
  24. long long p, q;
  25. p=q=1;
  26. for(int i=1; i<n; i++) {
  27. p=p+q;
  28. q=p+q;
  29. p=p%m;
  30. q=q%m;
  31. }
  32. printf("%lld/%lld\n", p, q);
  33. }
  34. return 0;
  35. }
Success #stdin #stdout 0s 3300KB
stdin
3
1 10
2 12
100 10000
stdout
1/1
2/3
4301/9525