(POJ2635)The Embarrassed Cryptographer(大数取模)
The Embarrassed Cryptographer Description Input Output Sample Input 143 10 Sample Output GOOD Source #include <set>
#include <map>
#include <list>
#include <stack>
#include <cmath>
#include <queue>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#define PI cos(-1.0)
#define RR freopen("input.txt","r",stdin)
using namespace std;
typedef long long LL;
const int MAX = 1e6+100;
int Arr[100000];
int top;
bool vis[MAX];
char str[110];
int b[40];
int L;
bool flag;
int main()
{
memset(vis,false,sizeof(vis));
top=0;
for(LL i=2;i<MAX;i++)
{
if(!vis[i])
{
Arr[top++]=i;
for(LL j=i*i;j<MAX;j+=i)
{
vis[j]=true;
}
}
}
while(scanf("%s %d",str,&L))
{
if(str[0]=='0'&&L==0)
{
break;
}
flag=false;
int len=strlen(str);
int l=0;
for(int i=len-1;i>=0;i-=3)
{
int ans=0;
for(int j=2;j>=0;j--)
{
if(i-j<0)
{
continue;
}
ans=(ans*10+str[i-j]-'0');
}
b[l++]=ans;
}
int ans;
for(int i=0;Arr[i]<L;i++)
{
ans=0;
for(int j=l-1;j>=0;j--)
{
ans=(ans*1000+b[j])%Arr[i];
}
if(ans==0)
{
cout<<"BAD "<<Arr[i]<<endl;
flag=true;
break;
}
}
if(!flag)
{
cout<<"GOOD"<<endl;
}
}
return 0;
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |