博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
训练1-J
阅读量:5254 次
发布时间:2019-06-14

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

把一个偶数拆成两个不同素数的和,有几种拆法呢?
Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。

Sample Input
30260
Sample Output
32

思路:首先用筛法将素数标记,不清楚筛法的可以看我另一篇文章

然后判断满足条件的个数,因为a[i]=i,所以a[i]+a[n-i]=i+n-i=n;

所以只要判断a[i]和a[n-i]是不是同时为素数就行了。代码有点乱,懒得改了

#include
#include
#include
using namespace std;int main(){ int i, j, a[10000], n; a[0] = 0; a[1] = 0; for (i = 2; i < 10000; i++) a[i] = 1; //从2开始初值赋1,相当于true for (i = 2; i < 10000; i++) { if (a[i]) for (j = i * 2; j < 10000; j += i) a[j] = 0; //标记置0 } int count; while(cin>>n) { if(!n) return 0; count=0; for(int i=3;i

转载于:https://www.cnblogs.com/aerer/p/9931070.html

你可能感兴趣的文章
CodeChef - RIN 最小割应用 规划问题
查看>>
设计模式之组合模式
查看>>
百度分享如何自定义分享url和内容?
查看>>
php抓取post方式提交的页面
查看>>
php简单缓存类
查看>>
文件中查找
查看>>
20145313张雪纯网络攻防第二次实验
查看>>
人人网JavaScript面试题
查看>>
Kontln的属性形式Getter和Setter
查看>>
win10 bcdedit加入vhdx启动
查看>>
Linux 黑白界面显示
查看>>
ActiveMQ学习系列(四)----消息持久化到mysql
查看>>
JavaScript设计模式基础之面向对象的JavaScript(一)
查看>>
RabbitMQ-从基础到实战(4)— 消息的交换(中)
查看>>
mysql 索引数据结构及原理
查看>>
01.Hibernate入门
查看>>
Ubuntu 16.0.4开启 log-bin
查看>>
mongoDB的学习【小白的福音】
查看>>
Spring boot中Spring-Data-JPA操作MySQL数据库时遇到的错误(一)
查看>>
django实现SSO
查看>>