pku 2635 The Embarrassed Cryptographer(质数表,高精度)
2009-08-10 21:51
375 查看
自己写的,留着以后做求质数表的和高精度除法的模板。
#include "math.h" #include <iostream> using namespace std; int K[35],K_index,L; bool isprime[1000005]; void prime(bool a[],int max_n)//生成质数表 { memset(a,1,sizeof(bool)*max_n);//初始化参数数组,要特别小心 我一开始直接用memset(a,1,sizeof(a)),是错的 a[0]=a[1]=false; int sq=sqrt((double)max_n); for(int i=2;i<=sq;i++) { if(a[i]) { for(int j=i*i;j<=max_n;j+=i) { a[j]=false; } } } } int divid(int t,int* big_num,int end)//高精度除法,返回余数 这里是1000进制 { int left=0; for(int i=0;i<end;i++) { left=left*1000+big_num[i]; left=left%t; } return left; } int translate(char *str,int* int_array)//输入字符串,转换成int[]存储的大数,这里用的1000进制,返回int[]末端的index { int len=strlen(str); int k,temp,K_index; k=len%3; K_index=temp=0; for(int i=0;i<k;i++) { temp=temp*10; temp+=str[i]-'0'; } if(temp) int_array[K_index++]=temp; for(int i=k;i<len;i=i+3) { temp=0; for(int j=0;j<3;j++) { temp=temp*10; temp+=str[i+j]-'0'; } int_array[K_index++]=temp; } return K_index; } int main() { prime(isprime,1000005); char temp[105]; while(scanf("%s%d",temp,&L)&&L) { int K_end=translate(temp,K); int dd; for(dd=2;dd<L;dd++) { if(isprime[dd]&&!divid(dd,K,K_end)) break; } if(dd>=L) printf("GOOD/n"); else printf("BAD %d/n",dd); } return 0; }
相关文章推荐
- POJ 2635 The Embarrassed Cryptographer [高精度求余+同余模定理]【数论】
- The Embarrassed Cryptographer POJ 2635 数论之高精度求模(同余模定理+千进制)
- poj2635——The Embarrassed Cryptographer(高精度取模)
- poj_2635 The Embarrassed Cryptographer(高精度求模)
- POJ 2635 The Embarrassed Cryptographer 高精度
- pku 2635 The Embarrassed Cryptographer 数论——素数筛选法+模拟大数除法
- POJ 2635 The Embarrassed Cryptographer【数论,千进制,高精度求模+同余模定理】
- POJ 2635-The Embarrassed Cryptographer(高精度求模+同余模定理)
- POJ 2635 The Embarrassed Cryptographer (大整数求模/高精度求模 + 同余模定理 +素数打表)
- POJ 2635 The Embarrassed Cryptographer 高精度取模 + 线性筛
- poj 2635 The Embarrassed Cryptographer 筛素数+高精度除法
- POJ 2635 The Embarrassed Cryptographer 线性筛+高精度取模
- poj 2635 The Embarrassed Cryptographer ——高精度取模
- POJ 2635, The Embarrassed Cryptographer
- The Embarrassed Cryptographer(POJ--2635
- poj 2635 The Embarrassed Cryptographer
- poj 2635 The Embarrassed Cryptographer(素数筛 + 同余模定理)
- POJ2635——The Embarrassed Cryptographer
- POJ The Embarrassed Cryptographer 2635 (数论)
- poj 2635 The Embarrassed Cryptographer(数论)