比赛 2020级再出发之二进制拆分及运用 评测结果 AAAAA
题目名称 64位整数乘法 最终得分 100
用户昵称 小金 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2023-07-24 11:31:01
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
long long a,b,p;
unsigned long long ans;
unsigned long long m(long long a2,long long b2,long long p2)
{
    unsigned long long ans2=0,t=a2;
    while(b2>0)
    {
        if(b2%2==1)
        {
            ans2=(ans2+t)%p2;
        }
        b2=b2/2;
        t=(t+t)%p2;
    }
    return ans2;
}
int main()
{
    freopen("64mul.in","r",stdin);
    freopen("64mul.out","w",stdout);
    scanf("%ld%ld%ld",&a,&b,&p);
    ans=m(a,b,p);
    printf("%ld",ans);
    return 0;
}