世上只有一种英雄主义,就是在认清生活真相之后依然热爱生活。

题目描述

On February 15, 2012, the New York Times reported a flaw in the method of generating keys for a public-key encryption system (“Researchers Find a Flaw in a Widely Used Online Encryption Method" by John Markoff).  This flaw enables an attacker to determine private keys given a set of flawed public keys. 
 
Your job is to write a program that takes flawed public keys and determines the corresponding private keys.  For the purposes of this problem, a private key consists of a pair of prime numbers, 
 
2 < K1 ,K2  < 231  
 
and the corresponding public key consists of the product K1×K2.

输入

The first line of the input contains an integer value, M (2≤M≤100).  M is the number of input lines that follow.  Each of the M lines contains a single “public key."  Each public key is the product of exactly two prime numbers and will fit in a 32-bit unsigned integer.

输出

The output lines produced by your program should contain the unique prime factors of the input data values in ascending numeric order, five per line, except for the last line.  Output values on the same line are separated by a single space.

样例输入 Copy

6
221
391
713
1457
901
299

样例输出 Copy

13 17 23 31 47
53

前两遍一直都是运行错误,提示如下:

运行错误,还不是提示数组越界,除以0,这要看肯定是打表出问题了,我使用的是线性筛,所以prime数组开的大,但却没有这么多的素数,因为线性筛筛的是2-10000之内的素数,而不是10000个素数,这个教训值得记住!

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <set>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
int M,cnt,ct;
ll N,prime[100100];
bool vis[100100];
set<ll>se;
void db()//打表
{memset (vis,true,sizeof (vis));vis[1]=false;for (int i=2; i<100000; i++){if (vis[i])prime[cnt++]=i;for (int j=0; j<cnt&&i*prime[j]<100000; j++){vis[i*prime[j]]=false;if (i%prime[j]==0)break;}}
}int main()
{db();cin>>M;
//    for(int i=0;i<20;i++)
//        cout<<prime[i]<<' ';
//    cout<<cnt<<endl;while(M--){int j=0;cin>>N;while(1){if(N%prime[j]==0){se.insert(prime[j]);se.insert(N/prime[j]);break;}j++;}}set<ll>::iterator it;for(it=se.begin(); it!=se.end(); it++){ct++;if(ct%5==0)cout<<*it<<endl;elsecout<<*it<<' ';}return 0;
}

问题 H: Problematic Public Keys相关推荐

  1. ZKAttest: Ring and Group Signatures for existing ECDSA keys 学习笔记

    1. 引言 来自于Cloudflare和Cornell Tech的Armando Faz-Hern´andez等人,2021年论文<ZKAttest: Ring and Group Signat ...

  2. x264学习----x264.h结构体

    x264.h结构体学习,还在持续更新中 /****************************************************************************** ...

  3. You have enabled checking of packages via GPG keys. This is a good thing.  However, you do not have

    在执行yum时报错: Loaded plugins: fastestmirrorYou have enabled checking of packages via GPG keys. This is ...

  4. .h文件和.cpp文件组织结构

    1.包含关系: .h文件一般包含在.cpp文件中,.h文件中多为变量和类的声明,而.cpp文件才是变量和类中函数的真正定义. 但是#include <iostream> 这个文件既不是.c ...

  5. Effect Java

    读 Effect Java中文版 :arrow: ---附件[url]effective+java.pdf[/url] 译者序 序 前言 第1章引言 1 第2章创建和销毁对象 4 第1条:考虑用静态工 ...

  6. \(^_^)/ Effective java

    读<Effect Java中文版> 译者序 序 前言 第1章引言 1   第2章创建和销毁对象 4 第1条:考虑用静态工厂方法代替构造函数 4 第2条:使用私有构造函数强化singleto ...

  7. Chromium命令行开关列表2

    Chromium命令行开关列表 Google Chrome浏览器可以使用很多命令行. 一些更改功能的行为,其他用于调试或试验. 该页面列出了可用的开关,包括其条件和说明. 上一次自动更新发生在2020 ...

  8. GitLab安装说明

    GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. gitlab是基于Ruby on Rails的, ...

  9. 非对称加密算法之RSA介绍及OpenSSL中RSA常用函数使用举例

    RSA算法,在1977年由Ron Rivest.Adi Shamirh和LenAdleman,在美国的麻省理工学院开发完成.这个算法的名字,来源于三位开发者的名字.RSA已经成为公钥数据加密标准. R ...

最新文章

  1. python lambda map reduce_python:lambda、filter、map、reduce
  2. 怎么查询redis缓存的数据_阿里开发十年写出这份「Redis简明教程」+「Redis实战」请你查收...
  3. Qt中的QColorDialog
  4. 12864液晶——读写、划点、划线、汉字、32*16的字符
  5. Linux驱动学习笔记之并发控制
  6. svn 添加目录 linux,linux-现有目录的SVN设置
  7. $nextTick 源码
  8. [html] 移动端布局的自适应如何做?
  9. 【2017年第4期】ISO/IEC JTC1/WG9大数据国际标准研究及对中国大数据标准化的影响...
  10. Developmental Cell | 人类视网膜发育过程中的重要分子机制
  11. UML从需求到实现----用例
  12. Jenkins中Publish Over SSH插件使用
  13. 算法系列15天速成——第五天 五大经典查找【中】
  14. r语言循环求和_R语言学习必备书单——由浅入深搞定编程
  15. 被历史遗忘的第一骑兵名将 —— 陈庆之
  16. w7系统事件日志服务器,win7事件查看器里说事件日志服务不可用怎么回事
  17. 计算机研究生就业方向之考编
  18. jQuery手风琴菜单的制作
  19. mac无法使用80端口问题
  20. kafka和raft共识机制

热门文章

  1. 打工人书单 | 我要悄悄读书 然后惊艳所有人
  2. CPU系统级验证——验证环境——OpenHW core-v验证环境及文件分析
  3. 每日分享(微信社区小程序/h5/圈子论坛贴吧交友/博客/社交)
  4. win7如何计算机共享的打印机驱动程序,win7系统连接共享打印机时提示“找不到驱动程序”的解决方法...
  5. 2021-2027全球与中国数据分析服务市场现状及未来发展趋势
  6. 用vs编写html后sel,选择后插入HTML
  7. XML中大于号和小于号的写法
  8. 为什么劝你不要学车?
  9. 得之坦然,失之淡然,顺其自然,争其必然
  10. 微信小程序:笑话段子手微信小程序源码自带内容采集随时有新内容