POJ 2262

来源:互联网 发布:网易闪电邮for mac 编辑:程序博客网 时间:2024/06/08 09:19

一定要记录下来,刚开始没有做素数判断的优化,超时

判断素数优化的方式是根号法,如果一个数不能被[2, 根号x] 之间的数字整除,则可以判断为素数

import java.util.Scanner;//大于4的整数都可以用两个质数的和来表示public class Main {public static void main(String[] args) {Scanner s = new Scanner(System.in);Main m = new Main();while(s.hasNext()){int num = s.nextInt();if(num == 0) {System.exit(0);}boolean flag = false;for(int i = 3; i <= (num / 2); i++){if(m.isPrime(i) && m.isPrime(num - i)){System.out.println(num+" = "+i+" + "+(num - i));flag = true;break;}}if(!flag){System.out.println("Goldbach's conjecture is wrong.");}}}public boolean isPrime(int num){boolean isPrime = true;if(num / 2 == 0){isPrime = false;}else{for(int i = 2; i * i <= num; i++){if(num % i == 0){isPrime = false;break;}}}return isPrime;}}


0 0
原创粉丝点击