2019.7.7 校内测试题 尴尬的密码员
题目
【问题描述】:
【输入文件】:
【输出文件】:
对于每一个密码 K,如果它的最小一个因数 p<l< span="">,就输出”BAD p”;否则就
【输入输出样例】:
【数据规模】:
如上
考试得分: 50
主要算法 : 质数(质因数分解,欧拉素数筛)
题干:
将一个超大合数化为两个最小质数的乘积,求出其中最小的质数
应试策略:
1.枚举2-L中的质数
2.如果K/(枚举的数)为质数的话,输出答案
代码
#include<math.h> #include<stdio.h> #include<stdlib.h> #define LL long long #define FORa(i,s,e) for(LL i=s;i<=e;i++) #define FORs(i,s,e) for(LL i=s;i>=e;i--) #define gc pa==pb&&(pb=(pa=buf)+fread(buf,1,10000,stdin),pa==pb)?EOF:*pa++ #define File(name) freopen(name".in","r",stdin),freopen(name".out","w",stdout)using namespace std; static char buf[10000],*pa=buf,*pb=buf; inline LL read();LL K,L; bool Prime(int x) {FORa(i,2,sqrt(x))if(x%i==0)return 0;return 1; } void Solve() {FORa(i,2,L-1){if(Prime(i)&&Prime(K/i)&&K%i==0){printf("BAD %d\n",i);return; }}printf("GOOD\n"); } int main() {File("crypto");K=read(),L=read();while(K!=0&&L!=0){Solve();K=read(),L=read();}return 0; } inline LL read() {register LL x(0);register LL f(1);register char c(gc);while(c<'0'||c>'9') f=c=='-'?-1:1,c=gc;while(c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=gc;return x*f; }
非完美算法:
照搬应试策略
正解:
1.欧拉素数筛,质数算术基本定理
2.求出2-L内的最小的质数,运用高精看K是否可以整除这个质数,可以就是答案
代码
#include<math.h> #include<stdio.h> #include<stdlib.h> #include<iostream> #include<cstring> #define LL long long #define FORa(i,s,e) for(LL i=s;i<=e;i++) #define FORs(i,s,e) for(LL i=s;i>=e;i--) #define File(name) freopen(name".in","r",stdin);freopen(name".out","w",stdout);const int N=1000000; int cnt,prime[N+1],v[N+1]; string K; LL L; void Prime() {FORa(i,2,L){if(!v[i]) v[i]=prime[++cnt]=i;FORa(j,1,cnt){if(prime[j]>j|prime[j]*i>L) break;v[prime[j]*i]=prime[j];}} } bool Check(int x) {int f=1;while(1); } void Solve() {FORa(i,1,cnt){if(Check(i)){printf("BAD %d\n",i);return; }}printf("GOOD\n"); } int main() {File("crypto");while(K!="0"&&L!=0){Prime(),Solve();cin>>K;scanf("%d",&L);}return 0; }
总结:
欧拉素数筛类板子
转载于:https://www.cnblogs.com/SeanOcean/p/11172687.html
2019.7.7 校内测试题 尴尬的密码员相关推荐
- 2019.7.9 校内测试题 史密斯数
题目 史密斯数(smith.cpp,1s,128MB) [问题描述]: 美国有一位数字家名叫阿尔伯特·威兰斯基,他姐夫史密斯非常喜欢研究数学,所以两人经常在一起研讨各种数学问题.有时,两人碰不到一起, ...
- 2019.7.8 校内测试题 能量球
题目 能量球(enb.cpp,1s,128MB) [问题描述]: sideman 有着一个你们所不知道的秘密.实际上,sideman 不是地球人,而 是遥远的 Gliese 行星的生物.sideman ...
- 2019.7.8 校内测试题 计数
题目 计数(getCount.cpp,1s,128MB) [问题描述]: 对于一个整数 b,若存在整数 a 使 b=a*a,且 a>1,那末我们称 b 是"平方数": 对于一 ...
- 2019.7.8 校内测试题 连续数和
题目 连续数和 (num.cpp,1s,128MB) [问题描述]: 一个正整数有可能可以被表示为 n(10^9>=n>=2)个连续正整数之和,如: 15=1+2+3+4+5 15=4+5 ...
- 2019.7.9 校内测试题 数学问题
题目 数学问题(math.cpp,1s,128MB) [问题描述]: 在一个渺无人烟的荒岛上待了 xx 年之后,小 Y 基本上啥都不会了.所以当小 Z 告诉他任何一个大于等于 4 的偶数都能表示成两个 ...
- 2019.6.18 校内测试 分析+题解
话说校内怎么又考试了QwQ,哎考就考吧(随鸡硬便啦) 考试的三个题分别都再洛谷上: P1067 多项式输出 传送门 P1068 分数线划定 传送门 P1069 细胞分裂 传送门 呜呜呜~T ...
- 蓝桥杯java组多少分能拿奖_记 2019蓝桥杯校内预选赛(JAVA组) 赛后总结
引言 好像博客好久没更新了 哈哈哈哈哈 趁现在有空更新一波 不知道还有没有人看 确实该记录一下每天做了什么了 不然感觉有些浑浑噩噩了 比赛介绍 全称: 蓝桥杯全国软件和信息技术专业人才大赛 蓝桥杯 实 ...
- 长安大学转计算机专业,关于做好2019级本科生校内转专业工作的通知
各学院(系).2019级学生: 根据<长安大学本科生转专业及专业分流管理办法>及本学期教学工作计划,现将2019级本科生转专业工作安排通知如下,请各单位按要求认真做好相关工作. 一.201 ...
- 2019/11/05 校内模拟
CSP-S 模拟 T1 盘王节 这是一道模拟题,那些细节问题一定要想清楚再写. 那么有两种策略: 先把御符打完,再用剩下的兵符随便打. 一张御符都不打,直接用自己大的兵符打对方小的兵符,得到最大伤害. ...
最新文章
- 平行志愿遵循分数优先php,2015年黑龙江普通高校招生平行志愿“平行志愿”投档录取模式有哪些优点?...
- Django models部分,数据库建立,错误解决
- sed 格式化输出df -h
- oracle: 在sqlplus中,执行sql语句
- socket编程实例_NIO之网络编程源码阅读
- macos无法验证此app不包含恶意软件_macOS 平台的一款后门样本(TinyTim)的分析
- mfc activeX,mfc application,mfc dll三者的区别
- 【Caffe代码解析】SyncedMemory
- 常用视频格式简述(RMVB\RM\WMV\ASF\AVI\MPEG1\MPEG2\MPEG4\MOV)
- DEMATEL算法程序
- html实现宿舍管理系统,宿舍管理系统部分代码实现
- SNMP TRAP实战
- [渝粤题库]西北工业大学离散数学
- 从零开始学习CANoe(一)—— 新建工程
- 《沉默的真 相》的舆情分析及文本挖掘(二)——以原著小说,京东商品为例
- DS8880要将双控高端存储架构进行到底
- 桌面我的计算机图标,让桌面显示我的电脑或者我的计算机图标
- 基于STM32+华为云IOT设计的云平台监控系统
- Linux挖矿病毒查杀
- xshell 密钥身份验证_使用密钥斗篷和大使边缘堆栈进行集中式身份验证
热门文章
- java定义构造方法_构造方法的定义
- 51单片机如何跳出wile循环_信用卡还最低、以卡养卡、乱分期,这种“死循环”如何跳出?...
- 用python实现西绪福斯黑洞(即123数字黑洞)的演示
- 实例2·筛子直方图(pygal下的直方图绘制,svg格式的打开)
- [蓝桥杯 2022 省 B] 砍竹子
- Lingoes-一个很可爱的词典软件
- 金三银四——大数据/Java面试集锦
- 黑盒测试-正交试验法-Allpairs工具自动生成正交表
- 高中数学必修2;解析几何高考热点_逆袭高考
- 向量的点乘和叉乘区别及几何意义