Advertisement
cmiN

brutlee

May 7th, 2011
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.70 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdint.h>
  3. #define mod 1000333
  4.  
  5. unsigned long fib(uint64_t param)
  6. {
  7.     if (param == 1 || param == 2) {
  8.         return 1;
  9.     } else {
  10.         return (fib(param - 1) + fib(param - 2)) % mod;
  11.     }
  12. }
  13.  
  14. unsigned long cmmdc(unsigned long first, unsigned long second)
  15. {
  16.     unsigned long last;
  17.     while (second) {
  18.         last = first % second;
  19.         first = second;
  20.         second = last;
  21.     }
  22.     return first;
  23. }
  24.  
  25. int main()
  26. {
  27.     freopen("fibgcd.in", "rt", stdin);
  28.     freopen("fibgcd.out", "wt", stdout);
  29.     uint64_t n, m;
  30.     scanf("%I64u %I64u", &n, &m);
  31.     printf("%lu", cmmdc(fib(n), fib(m)));
  32.     fclose(stdin);
  33.     fclose(stdout);
  34.     return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement