1600: Big Mod
2010-07-10 19:57
211 查看
1600: Big Mod
Calculate
for large values of B, P, and M using an efficient algorithm. (That's right, this problem has a time dependency !!!.)
Input
Three integer values (in the order B, P, M) will be read one number per line. B and P are integers in the range 0 to 2147483647 inclusive. M is an integer in the range 1 to 46340 inclusive.
Output
The result of the computation. A single integer.
Sample Input
Sample Output
Result | TIME Limit | MEMORY Limit | Run Times | AC Times | JUDGE |
---|---|---|---|---|---|
3s | 8192K | 1658 | 309 | Standard |
for large values of B, P, and M using an efficient algorithm. (That's right, this problem has a time dependency !!!.)
Input
Three integer values (in the order B, P, M) will be read one number per line. B and P are integers in the range 0 to 2147483647 inclusive. M is an integer in the range 1 to 46340 inclusive.
Output
The result of the computation. A single integer.
Sample Input
3 18132 17 17 1765 3 2374859 3029382 36123
Sample Output
13 2 13195
#include<iostream> using namespace std; int main(){ long long b,p,m,d; while(cin>>b>>p>>m) { int a[100],k=0; if(b==0||m==1){cout<<"0"<<endl;continue; } if(p==0){cout<<"1"<<endl;continue;} while(p>0){ a[k++]=p%2; p/=2;} k--; d=b; int t=1; for(int i=0;i<=k;i++) { if(a[i]) t=(t*d)%m; d=(d*d)%m; } cout<<t<<endl; } return 0; }
#include<stdio.h> long mod(int b,int p,int m) { if(m==1||b==0) return 0; if(p==0) return 1; if(p%2) return (b%m*mod(b,p-1,m))%m; long long temp=mod(b,p/2,m); return (temp*temp)%m; } int main() { long long b,p,m; while(scanf("%d%d%d",&b,&p,&m)!=-1) { printf("%ld/n",mod(b,p,m)); } return 0; }
相关文章推荐
- 1600: Big Mod
- canon佳能ip1000/1200/1600 废弃墨水吸收器已满解决办法(有效)
- 中国黄金需求居世界第一 下半年金价或突破1600
- iPhone在降级时遇到1600错误怎么办?
- bzoj 1600
- bzoj 1600 & Usaco 月赛 2008 建造栅栏 题解
- UVa1600,Patrol Robot
- POJ 1600 Centipede Collisions
- UVA1600 - Patrol Robot
- CSUOJ 1600 Twenty-four point (判断24点,另附给出表达式版)
- xor问题的小结(HDU_5269 && HDU_5270 && NEU_1600)
- UVA 1600 Patrol Robot(机器人穿越障碍最短路线BFS) 解题心得
- Uva1600 - Patrol Robot(bfs解法)
- zzulioj--1600--直线与圆(简单数学几何)
- 【UVa】1600 – Patrol Robot
- HUST 1600 Lucky Numbers
- UVa 1600 Patrol Robot
- UVA1600 Dfs回溯完全遍历+记忆化搜索(用最小距离剪枝)+细节处理 (值得复习)(水)
- uva 1600 Patrol Robot
- Atitit usrQBK1600 技术文档的规范标准化解决方案