Java教程

Java 检查一个数是否可​​以表示为两个质数之和的程序

Java 程序检查一个数是否可​​以表示为两个质数之和

在这个程序中,您将学习检查给定的数是否可以表示为两个素数之和。这是在 Java 中循环和 break 语句的帮助下完成的。
要理解此示例,您应该了解以下Java 编程主题:
Java 方法 Java for 循环 Java if...else 语句

示例: 将一个数表示为两个质数之和

public class Main {
  public static void main(String[] args) {
    int number = 34;
    boolean flag = false;
    for (int i = 2; i <= number / 2; ++i) {
      // condition for i to be a prime number
      if (checkPrime(i)) {
        // condition for n-i to be a prime number
        if (checkPrime(number-i)) {
          // n = primeNumber1 + primeNumber2
          System.out.printf("%d = %d + %d\n", number, i, number-i);
          flag = true;
        }
      }
    }
    if (!flag)
      System.out.println(number + " cannot be expressed as the sum of two prime numbers.");
  }
  // Function to check prime number
  static boolean checkPrime(int num) {
    boolean isPrime = true;
    for (int i = 2; i <= num / 2; ++i) {
      if (num % i == 0) {
        isPrime = false;
        break;
      }
    }
    return isPrime;
  }
}
输出
34 = 3 + 31
34 = 5 + 29
34 = 11 + 23
34 = 17 + 17
在上面的例子中,我们创建了 checkPrime() 方法来判断一个数是否为素数。如果传递的数字是质数,该方法返回 true
这里,我们有一个数字34。该程序尝试检查 34 是否可以表示为两个素数之和。
程序运行
首先,我们运行一个 for 循环,从 i = 2 到 number/2 for 循环中,我们使用了两个if 语句。第一条语句检查 i 是否为质数。

如果为真,则第二条 if 语句检查是否 number-i是素数还是不素数。这是因为 inumber-i 的总和等于 number
如果第二个语句也是 true,那么我们可以说数字 34 是两个质数的有效和。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4