Java经典习题44
/*
题目:一个偶数总能表示为两个素数之和。
*/
//思路:1)找素数;2)判断是否是两个素数之和;3)素数小于该偶数。
import java.util.*;
public class Class44 {
public static void main(String[] args) {
System.out.println("请输入一个偶数:");
Scanner sc = new Scanner(System.in);
int os;
do{
os = sc.nextInt();
}while(os % 2 != 0);
Sushu ss = new Sushu();
for(int i = 2; i <= os; i++){
if(ss.Sushu(i) == 1 && ss.Sushu(os - i) == 1){
int j = os - i;
System.out.println("偶数" + os + "由素数" + i + "和素数" + j + "组成");
}
}
}
//寻找素数
static class Sushu{
public int Sushu(int n){
int flag = 0;
if(n == 1 || n == 2 || n == 3){
flag = 1;
}
if(n > 3){
for(int i = 2; i <= Math.sqrt(n); i++){
if(n % i == 0){
flag = 0;
}else if(n % i != 0){
flag = 1;
}
}
}
return flag;
}
}
}