将一段区间的偶数分解为两个素数相加(Java)
生活随笔
收集整理的這篇文章主要介紹了
将一段区间的偶数分解为两个素数相加(Java)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
從鍵盤(pán)接收任意兩個(gè)正整數(shù),要求第一個(gè)正整數(shù)必須小于第二個(gè)正整數(shù)。然后把這兩個(gè)數(shù)范圍之內(nèi)(包括這兩個(gè)數(shù))的所有偶數(shù)分解為兩個(gè)素?cái)?shù)之和,并輸出每個(gè)偶數(shù)以及對(duì)應(yīng)的兩個(gè)素?cái)?shù)
方法一
package day05;import java.util.Scanner;/*** @author Baiysmart* @create 2020-04-04 19:33*/ /* 從鍵盤(pán)接收任意兩個(gè)正整數(shù), 要求第一個(gè)正整數(shù)必須小于第二個(gè)正整數(shù)。 然后把這兩個(gè)數(shù)范圍之內(nèi)(包括這兩個(gè)數(shù)) 的所有偶數(shù)分解為兩個(gè)素?cái)?shù)之和, 并輸出每個(gè)偶數(shù)以及對(duì)應(yīng)的兩個(gè)素?cái)?shù)*/ public class PrimeNumberTest {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("請(qǐng)輸入number1:");int number1 = scan.nextInt();System.out.println("請(qǐng)輸入number2");int number2 = scan.nextInt();if (number1 < number2 && number1 > 0 && number2 > 0) {for (int i = number1; i <= number2; i++) {if (i % 2 == 0) {for (int j = 2; j < i / 2; j++) {if (isPrime(j) && isPrime(i - j)) {System.out.println(j + "---" + (i - j));}}}}}}public static boolean isPrime(int n) {boolean b1 = true;for (int i = 2; i < n; i++) {if (n % i == 0) {b1 = false;break;}}return b1;}}方法二
package day05;import java.util.Scanner;/*** @author Baiysmart* @create 2020-04-05 10:29*/ /* 從鍵盤(pán)接收任意兩個(gè)正整數(shù), 要求第一個(gè)正整數(shù)必須小于第二個(gè)正整數(shù)。 然后把這兩個(gè)數(shù)范圍之內(nèi)(包括這兩個(gè)數(shù)) 的所有偶數(shù)分解為兩個(gè)素?cái)?shù)之和, 并輸出每個(gè)偶數(shù)以及對(duì)應(yīng)的兩個(gè)素?cái)?shù)*/ public class PrimeNumberTest2 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("請(qǐng)輸入number1");int number1 = scan.nextInt();System.out.println("請(qǐng)輸入number2");int number2 = scan.nextInt();if (number1<number2){primeSum(number1,number2);}else{System.out.println("number1要小于number2");}}//判斷是否為素?cái)?shù)public static boolean isPrime(int n) {boolean b1 = true;for (int i = 2; i < n; i++) {if (n % i == 0) {b1 = false;break;}}return b1;}//將偶數(shù)分解為兩個(gè)素?cái)?shù)相加public static void primeSum(int n1, int n2) {for (int i = n1; i <= n2; i++) {if (i % 2 == 0) {for (int j = 2; j < i / 2; j++) {if (isPrime(j) && isPrime(i - j)) {System.out.println(j + "---" + (i - j));}}}}} } 新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的将一段区间的偶数分解为两个素数相加(Java)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: m函数与m文件的命名
- 下一篇: Java实现敏感词过滤 - IKAnal