64位整数乘法

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 long long a,b,p;
 4 long long mul(long long a,long long b,long long p)
 5 {
 6     long long ans=0;
 7     while(b)
 8     {
 9         if(b&1) ans=(ans+a)%p;
10         a=a*2%p;
11         b>>=1;
12     }
13     return ans%p;
14 }
15 int main()
16 {
17     scanf("%lld%lld%lld",&a,&b,&p);
18     long long ans=mul(a,b,p)%p;
19     printf("%lld",ans);
20     return 0;
21 }

 

posted @ 2018-12-16 10:16  宇興  阅读(134)  评论(0编辑  收藏  举报