求助:P1226 为啥我不传参能拿100分AC,而传参只有36分??
  • 板块学术版
  • 楼主wrkwrkwrk
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/1/25 19:50
  • 上次更新2023/10/28 10:58:19
查看原帖
求助:P1226 为啥我不传参能拿100分AC,而传参只有36分??
292748
wrkwrkwrk楼主2022/1/25 19:50

36分代码:

#include<iostream>
#include<cstdio>
using namespace std;
long long k;
long long fp(int b,int p){//唯一的变化
    long long ans=1;
    while(p>0){
        if(p%2!=0)ans=ans*b%k;
        b=b*b%k;
        p=p>>1;
    }
    return ans;
}
int main(){
    long long b,p;
    cin>>b>>p>>k;
    int bb=b,pp=p;
    printf("%d^%d mod %d=%d",bb,pp,k,fp(b,p)%k);
    return 0;
}

100分代码:

#include<iostream>
#include<cstdio>
using namespace std;
long long k,b,p,bb,pp;
long long fp(){//唯一的变化
    long long ans=1;
    while(p>0){
        if(p%2!=0)ans=ans*b%k;
        b=b*b%k;
        p=p>>1;
    }
    return ans;
}
int main(){
    cin>>b>>p>>k;
    bb=b;pp=p;
    printf("%d^%d mod %d=%d",bb,pp,k,fp()%k);
    return 0;
}

只有一处变化…… 题目传送门

2022/1/25 19:50
加载中...