Problem Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?
 
Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
 
Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
 
Sample Input
30
26
0
 
Sample Output
3
2
 
解题思路:先欧拉筛数然后在进行试探分析是否可以两个素数的和为这个偶数。
import java.util.Scanner;

public class Test {
public static void main(String[] args){
Scanner input = new Scanner(System.in); int count =0;
int num = 100000;
boolean[] bl = new boolean[100000000];
int[] primeList = new int[num];
for(int i =2;i < num;i++){
if(!bl[i]){
primeList[count++] = i;
}
for(int j =0;j < count;j++){
if(i*primeList[j] > num){
break;
}
bl[i*primeList[j]] = true;
if(i%primeList[j]==0){
break;
}
}
} for(;;){
int sum = input.nextInt();
if(sum ==0){
break;
}
int count1 =0;
for(int i =2;i < sum/2;i++){
if(!bl[i]&&!bl[sum-i]){
if(i!=sum-i)
count1++;
System.out.println(i+" " +(sum-i));
} }
System.out.println(count1);
} }
}

最新文章

  1. HDU3068 回文串 Manacher算法
  2. dotNet使用HttpWebRequest模拟浏览器
  3. rados命令
  4. python numpy 教程
  5. C++之路进阶——bzoj1468(tree)
  6. shell与kernel的理解 转载
  7. JAVA获得系统配置文件的System Properties
  8. DreamWeaver文件保存时,提示&quot;发生共享违例&quot;问题的解决方法
  9. 对synchronized关键字的理解
  10. smartgit试用到期不用序列号怎么继续使用
  11. JavaWeb 后端 &lt;十四&gt; 文件上传下载
  12. 事务的特性(ACID)
  13. GC真正的垃圾:强、软、弱、和虚 对象
  14. 计算机网络Web应用层与运输层(HTTP/TCP)
  15. 什么是javabean及其用法
  16. snmp监控f5
  17. vue-CLI踩坑记
  18. 线程的定时器Timer
  19. action中session的存取
  20. idea 开发插件。

热门文章

  1. jsp四大作用域之request
  2. 《spss统计分析与行业应用案例详解》:实例十二 卡方检验
  3. CF Gym 100187J Deck Shuffling (dfs判连通)
  4. [学习笔记] Markdown语法备忘
  5. cv2.solvepnp 相机的位姿估计
  6. ios基础学习
  7. GC执行finalize的过程以及对象的一次自我拯救
  8. Nodejs:npm run build之后,dist\index.html页面在火狐中可以正常显示登录页面并登录成功,在Chrome中可以正常显示登录页面,登录失败
  9. c++ json字符串转换成map管理
  10. nodejs 静态资源服务与接口代理跨域