标签:possible puts init number std otherwise nsis creat from
Time Limit: 2000MS | Memory Limit: 65536K | |
Total Submissions: 15069 | Accepted: 4132 |
Description
Input
Output
Sample Input
143 10 143 20 667 20 667 30 2573 30 2573 40 0 0
Sample Output
GOOD BAD 11 GOOD BAD 23 GOOD BAD 31
/* * @Author: lyucheng * @Date: 2017-10-17 19:03:06 * @Last Modified by: lyucheng * @Last Modified time: 2017-10-17 16:50:37 */ #include <stdio.h> #include <vector> #include <string.h> #define MAXN 105 #define MAXM 1000005 using namespace std; char str[MAXN]; int k; int p[MAXM]; bool prime[MAXM]; int tol; int num[MAXM]; vector<int>v; void init(){ tol=0; for(int i=2;i<MAXM;i++){ if(prime[i]==false) p[tol++]=i; for(int j=0;j<tol&&i*p[j]<MAXM;j++){ prime[i*p[j]]=true; if(i%p[j]==0) break; } } } bool ok(int k){ int s=0; for(int i=(int)v.size()-1;i>=0;i--){ s*=1000; s%=k; s+=v[i]; s%=k; } if(s==0) return true; else return false; } int main(){ // freopen("in.txt","r",stdin); init(); while(scanf("%s%d",str,&k)!=EOF&&(str[0]-‘0‘!=0&&k!=0)){ int n=strlen(str); v.clear(); for(int i=n-1;i>=0;i-=3){ int s=0; for(int j=max(0,i-2);j<=i;j++){ s*=10; s+=str[j]-‘0‘; } v.push_back(s); } // for(int i=0;i<(int)v.size();i++){ // cout<<v[i]<<" "; // }cout<<endl; bool flag=true; for(int i=0;p[i]<k;i++){ if(ok(p[i])==true){ printf("BAD %d\n",p[i]); flag=false; break; } } if(flag==true) puts("GOOD"); } return 0; }
poj2635The Embarrassed Cryptographer(同余膜定理)
标签:possible puts init number std otherwise nsis creat from
原文地址:http://www.cnblogs.com/wuwangchuxin0924/p/7682628.html