JAVA 基础编程练习题44 【程序 44 偶数的素数和】

 

44 【程序 44 偶数的素数和】

题目:一个偶数总能表示为两个素数之和。

 

package cskaoyan;

public class cskaoyan44 {
	@org.junit.Test
	public void sum() {
		java.util.Scanner in = new java.util.Scanner(System.in);
		long number = 0;

		do {
			System.out.println("请输入一个偶数:");
			number = in.nextLong();
		} while (number % 2 != 0);

		for (long i = 2; i < number; i++) {
			if (isPrime(i) && isPrime(number - i)) {
				System.out.println("偶数" + number + "可以分解成" + i + "和" + (number - i) + "两个素数的和");
				break;
			}
		}

		in.close();
	}

	private static boolean isPrime(long number) {
		boolean flag = true;

		if (number < 2) {
			flag = false;
		} else if (number < 4) {
			flag = true;
		} else if (number % 2 == 0) {
			flag = false;
		} else {
			for (long i = 3; i < Math.sqrt(number) + 1; i++) {
				if (number % i == 0) {
					flag = false;
					break;
				}
			}
		}

		return flag;
	}
}

 

转载于:https://www.cnblogs.com/denggelin/p/11490192.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值