博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NUC1921 E.迷雾森林
阅读量:5806 次
发布时间:2019-06-18

本文共 1510 字,大约阅读时间需要 5 分钟。

时间限制: 1000ms 内存限制: 65535KB

问题描述
【HuJie】今天的任务是去灵隐寺后的竹林里拾干柴,最近天越来越冷,天上的乌云聚集不散。天灰蒙蒙的,走进竹林里时,树叶沙沙作响,他一直觉得这个林子很奇怪,雪天依然树叶常青。等他捡的差不多了,正打算将干柴捆好背起来时,在他面前突然跳出一只大大的【Mon-Gee Gee】猴子。“OMG,我不会遇到孙悟空了吧,但是怎么没有金箍棒呢”【HuJie】还在愣愣的想着。【Mon-Gee Gee】开口了:“小和尚,我怎么从来没有见过你?新来的吧?”【HuJie】紧张的点点头。【Mon-Gee Gee】咧嘴一笑:“新来的就要懂规矩,本大王先问你一个问题。”【HuJie】当然不怕一只猴子,于是说“你说吧,什么题?” 【Mon-Gee Gee】开了口:“我们猴子家族冬天要储藏食物过冬,今年猴子们采摘了很多坚果,需要分开存放在两个不同的树洞里。不过呢,我们猴子家族有个传统,每个储藏事物的树洞里,坚果的总数必须是素数,否则非常不吉利。现在我有n个坚果,你告诉我有多少种不同的分法。你要是答对了,我就可以答应你一件事……”【HuJie】张口就答:“不就是……”【Mon-Gee Gee】马上插了一句:“答错了可就,嘿嘿嘿……”【HuJie】一听这话吓了一跳,赶忙着手计算不敢答错,聪明的你能帮他算出问题的答案吗?
输入描述
首先输入询问次数T(1≤T≤100),之后T行每行一个正整数n(1≤n≤1000)。
输出描述
输出将n拆分成两个素数之和的方法数。
样例输入
32410
样例输出
012
来源
2015中北大学‘计蒜客’杯新生赛
提示
2不能被拆分成两个素数和的形式,故输出0;4可以被拆分成4=2+2的形式,输出1;10可以被拆分成10=3+7和10=5+5的形式,输出2。

问题分析:

这个题与HDU2098类似,拿过来修改一下就可以了用。需要注意的是,条件有点不同。

解决本问题,首先用Eratosthenes筛选法求得必要的素数,然后用试探法求可分解的个数。对于输入的偶数sum而言,如果能够分解成两个素数之和,其中一个必然小于或等于sum/2,基于这个原理进行分解计数,最后求出所有的组合。

题目中所讲的故事,似乎与本题目的关系没那么大,绕了一大圈而已。

程序说明:

参见链接博文。

参考链接:

AC的C++程序如下:

#include 
#include
using namespace std;const int N = 1000;int prime[N+1];// Eratosthenes筛选法void sieveofe(int p[], int n){ int i, j; p[0] = 0; p[1] = 0; p[2] = 1; // 初始化 for(i=3; i
> n; while(n--) { cin >> sum; count = 0; for(int i=2; i<=sum/2; i++) { if(prime[i] && prime[sum-i]) count++; } cout << count << endl; } return 0;}

转载于:https://www.cnblogs.com/tigerisland/p/7563862.html

你可能感兴趣的文章
Lighttpd1.4.20源代码分析 笔记 状态机之错误处理和连接关闭
查看>>
具体解释MVP矩阵之ViewMatrix
查看>>
构建之法读书笔记 (1)
查看>>
table合并单元格colspan和rowspan
查看>>
Windows和Linux下查看Apache、MySQL、PHP版本
查看>>
centOs6.9服务器版本安装图解(包含java和mysql)
查看>>
new出来的对象无法调用@Autowired注入的Spring Bean
查看>>
jfrog artifactory jenkins pipeline 集成
查看>>
mysql开启慢查询日志
查看>>
大量用户升级iPhone3.0系统导致苹果服务器故障
查看>>
Gac代码库分析(1)
查看>>
IBM高级工程师,谷歌等国际知名公司工程师撰写Android开发教程合集
查看>>
关于图形学的那些让人迷惑的入门概念
查看>>
java中比较两个map是否相同
查看>>
阅读,学习编程的重要能力
查看>>
webpack 应用编译优化之路
查看>>
【刘文彬】区块链3.0:拥抱EOS
查看>>
javascript模拟鸟群使用cax和threejs渲染引擎
查看>>
设计模式——工厂方法模式
查看>>
面试vue组件间事件派发与接收
查看>>