Advertisement
Ladies_Man

1_2 !falied! mulmod Gorner (working)

Jan 6th, 2014
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.37 KB | None | 0 0
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int i = 0, b[64];
  5.     unsigned long a, s, c, m;
  6.     scanf ("%lu%lu%lu", &a, &c, &m);
  7.  
  8.     for (i = 0; i <= 63; i++) {
  9.         b[i] = c & 1;
  10.         c = c>>1;
  11.     }
  12.     s = a * b[63];
  13.  
  14.     for (i = 63; i >= 0; i--) {
  15.         s = (a * b[i] % m) + (2 * s % m);
  16.     }
  17.  
  18.     s = s % m;
  19.     printf ("%lu", s);
  20.     return 0;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement