POJ235 The Embarrassed Cryptographer
2016-02-21 23:34
351 查看
点击打开链接
题意:
给一个大整数 k 他是由两个大素数相乘得到的。然后给你一个L
让你判断 L 是否大于 K中的那个最小素数
是输出 BAD 素数
不是 GOOD
思路
1 素数筛将100w中的素数全都存入表中
2 将大整数转换成 10000 进制存入数组中
///转换成10进制 会TLE(时间浪费在Mod()中的进制转换上了 (进制转换的跨度太小))
3 大整数取模
本题注意
1 进制转换要恰当
2 RE 的地方要注意
题意:
给一个大整数 k 他是由两个大素数相乘得到的。然后给你一个L
让你判断 L 是否大于 K中的那个最小素数
是输出 BAD 素数
不是 GOOD
思路
1 素数筛将100w中的素数全都存入表中
2 将大整数转换成 10000 进制存入数组中
///转换成10进制 会TLE(时间浪费在Mod()中的进制转换上了 (进制转换的跨度太小))
3 大整数取模
本题注意
1 进制转换要恰当
2 RE 的地方要注意
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #define LL long long using namespace std; int vis[1000100]; int T[100010]; int num=0; int solve() ///素数筛 { int m=1001; memset(vis,0,sizeof(vis)); vis[1]=1; for(int i=2;i<=m;i++) if(!vis[i]) for(int j=i*i;j<=1000001;j+=i) vis[j]=1; for(int i=1;i<=1000000;i++) if(!vis[i]) T[num++]=i; } int a[1000]; int Mod(int top,int m) ///大整数取模 { int ans=0; for(int i=top-1;i>=0;i--) ///10000进制取模 { ans=(int)((LL)ans*10000%m+a[i])%m; } if(ans==0) return 1; else return 0; } char s[1000]; int main() { solve(); int j=0,m,flag; while(~scanf("%s%d",s,&m)) { if(s[0]=='0'&&m==0) break; flag=0; int top=0; int len=strlen(s); int sum=0,bits=1; for(int i=1;i<=len;i++) ///对于整体 高位在后面,低位在前面 对于数组中存的每一个数来说是一个<10000的数 { sum=(sum+ ((LL)(s[len-i]-'0')*bits)); bits=bits*10; if(i%4==0) ///将其转换成10000进制 十进制会TLE { a[top++]=sum; sum=0; bits=1; } } if(len%4) a[top++]=sum; for(j=0;T[j]<m&&j<num;j++) ///容易RE不加j<num { if(Mod(top,T[j])) { flag=1; break; } } if(flag) printf("BAD %d\n",T[j]); else printf("GOOD\n"); } return 0; }
相关文章推荐
- HDU 1056 HangOver
- Android 5.0/5.1 HOOK技术探究
- 《JavaScript权威指南》--学习日志
- 有一个14位数。由 2个1 2个2 2个3 2个4 2个5 2个6 2个7组成!其中,两个1中有一个数字,2个2中有2个数字……2个7中有7个数字入:73625324765141
- JVM学习笔记2—常用JVM配置参数
- iOS设计模式之单例
- Android进阶之Service远程通信AIDL
- C++面向对象编程<四>:类comlpex的完整代码
- 《Android源码设计模式》读书笔记 (17) 第17章 中介者模式
- iOS基础之可视化编程
- 一道常被人轻视的前端JS面试题
- xampp新建数据库+数据库的导入导出
- 用canvas 实现《Matrix》(黑客帝国)中 电脑屏幕效果
- 成员方法
- swift基本语法(总结提炼版)之001常量&变量
- 从头认识Spring-3.3 简单的AOP日志实现-增加检查订单功能
- MVC5 网站开发之四 业务逻辑层的架构和基本功能
- codeforces629C Famil Door and Brackets (dp)
- PHP 文件打开/读取
- 自定义View