您的位置:首页 > 编程语言 > Java开发

Java 2017腾讯校招真题之素数对

2018-03-22 21:55 260 查看
素数对

给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。

如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))

import java.util.Scanner;

public class PrimeDouble {
public boolean isPrime(int n) {
if (n <= 1)
return false;
if (n == 2)
return true;
for (int i = 2; i <n; i++) {
if (n%i == 0)
return false;
}
return true;
}

public static void main(String[] args) {
int count = 0;
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
//      System.out.println(n);
PrimeDouble p = new PrimeDouble();
//System.out.println(p.isPrime(3));
for (int i = 2; i <= (n / 2) + 1; i++) {
if (p.isPrime(i)) {
//System.out.println(i);
if (p.isPrime(n - i))
count = count + 1;
}
}
System.out.println(count);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: