1 条题解
-
0
C :
#include <stdio.h> int main() { int a,b,c; while(~scanf("%d%d%d",&a,&b,&c)) { int d[100],r=a,s=1,i=0; while(b) { d[i++]=b%2; b>>=1; } for(int k=i-1;k>=0;k--) { s=(s*s)%c; if(d[k]==1) s=(s*a)%c; } printf("%d\n",s); } return 0; }
C++ :
# include <iostream> using namespace std; int a,b,c,s; int ans(int a,int b){ if (b==1) return a%c; int t = ans(a,b/2); t = ( t * t ) % c; if (b & 1) return t*a%c; return t%c; } int main(){ for (;cin >> a >> b >> c;cout << ans(a%c,b) << endl) ; return 0; }
- 1
信息
- ID
- 1945
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者