We Chall-Prime Factory-Writeup
2018-06-17 23:21:53来源:未知 阅读 ()
MarkdownPad Document
We Chall-Prime Factory-Writeup
题目链接:http://www.wechall.net/challenge/training/prime_factory/index.php
网站打开较慢,所以把题目放在下方:
Prime Factory (Training, Math)
Your task is simple:
Find the first two primes above 1 million, whose separate digit sums are also prime.
As example take 23, which is a prime whose digit sum, 5, is also prime.
The solution is the concatination of the two numbers,
Example: If the first number is 1,234,567
and the second is 8,765,432,
your solution is 12345678765432
大意就是找到两个数,这两个数符合:是大于1000000的质数,并且数字的每一位加起来仍是质数,如:23是质数,2+3=5仍是质数;
因为没有时间的限制,所以用C++写了一个暴力循环的代码:
1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 typedef long long LL; 5 const LL MILLION = 1000000; 6 7 bool IsPrime_1(LL num) 8 { 9 for(int i = 2; i <= sqrt(num); i++) 10 if(!(num % i)) 11 return 0;//num不是质数 12 13 return 1;//num是质数 14 } 15 16 bool IsPrime_2(LL num) 17 { 18 LL sum = 0; 19 while(num) 20 { 21 sum += num % 10; 22 num /= 10; 23 } 24 25 if(IsPrime_1(sum)) 26 return 1;//各位数字的和仍为质数 27 else 28 return 0; 29 } 30 31 int main() 32 { 33 // LL num; 34 // cin>>num; 35 // if(IsPrime_1(num)) 36 // cout<<1<<endl; 37 // if(IsPrime_2(num)) 38 // cout<<2<<endl; 39 for(LL i = MILLION+1 , cnt = 0 ; cnt < 2 ; i++) 40 { 41 if(IsPrime_1(i)) 42 if(IsPrime_2(i)) 43 { 44 cnt++; 45 cout<<i<<endl; 46 } 47 } 48 49 return 0; 50 }
运行结果如下:
根据要求的形式得flag为:10000331000037
2017-2-5 12:40;11
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Qt与Js交互通信 2020-05-25
- 聚合类型与POD类型 2020-05-09
- STL之map 2020-04-27
- xmake v2.3.2 发布, 带来和ninja一样快的构建速度 2020-03-29
- Maximum White Subtree 2020-03-26
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash