Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để kiểm tra xem một số có thể được biểu thị dưới dạng tổng của hai số nguyên tố hay không

Trong bài này, chúng ta sẽ hiểu cách kiểm tra xem một số có thể được biểu diễn dưới dạng tổng của hai số nguyên tố hay không. Số nguyên tố là số đặc biệt chỉ có hai thừa số 1 và chính nó và không thể chia cho bất kỳ số nào khác.

Một số là số nguyên tố nếu các thừa số duy nhất của nó là 1 và chính nó. 11 là một số nguyên tố. Các yếu tố của nó là 1 và 11. Một số ví dụ về số nguyên tố là 2, 3, 5, 7, 11, 13, v.v. 2 là số nguyên tố chẵn duy nhất. Tất cả các số nguyên tố khác đều là số lẻ.

Dưới đây là một minh chứng về điều tương tự -

Đầu vào

Giả sử đầu vào của chúng tôi là -

Input number : 43

Đầu ra

Đầu ra mong muốn sẽ là -

The number can be expressed as sum of two prime numbers.
The possible solutions are :
43 = 2 + 41

Thuật toán

Step 1 - START
Step 2 - Declare two integer values namely my_input and i
Step 3 - Read the required values from the user/ define the values
Step 4 - Define a function IsPrime which takes an integer value and checks if the value is a prime number or not.
Step 5 - Using a for loop, iterate from 2 to half of ‘my_input’ value, check if the ‘i’ value and ‘my_input’ – ‘i’ values are both prime numbers. If yes, store both the values.
Step 6 - Display the result
Step 7 - Stop

Ví dụ 1

Ở đây, đầu vào đang được người dùng nhập dựa trên lời nhắc. Bạn có thể thử trực tiếp ví dụ này trong công cụ nền tảng mã hóa của chúng tôi Chương trình Java để kiểm tra xem một số có thể được biểu thị dưới dạng tổng của hai số nguyên tố hay không .

import java.util.Scanner;
public class SumOfPrimes {
   public static void main(String[] args) {
      int my_input, i;
      boolean my_temp = false;
      my_input = 43;
      System.out.println("Required packages have been imported");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("A reader object has been defined ");
      System.out.print("Enter the number : ");
      my_input = my_scanner.nextInt();
      for (i = 2; i <= my_input / 2; ++i) {
         if (IsPrime(i)) {
            if (IsPrime(my_input - i)) {
               System.out.println("The number can be expressed as sum of two prime numbers.");
               System.out.println("The possible solutions are :");
               System.out.printf("%d = %d + %d\n", my_input, i, my_input - i);
               my_temp = true;
             }
         }
      }
      if (!my_temp)
         System.out.println(my_input + " cannot be expressed as the sum of two prime numbers.");
   }
   static boolean IsPrime(int num) {
      boolean my_prime = true;
      for (int i = 2; i <= num / 2; ++i) {
         if (num % i == 0) {
            my_prime = false;
            break;
          }
      }
      return my_prime;
   }
}

Đầu ra

Required packages have been imported
A reader object has been defined
Enter the number : 43
The number can be expressed as sum of two prime numbers.
All the possible solutions are :
43 = 2 + 41

Ví dụ 2

Ở đây, số nguyên đã được xác định trước đó và giá trị của nó được truy cập và hiển thị trên bảng điều khiển.

public class SumOfPrimes {
   public static void main(String[] args) {
      int my_input, i;
      boolean my_temp = false;
      my_input = 43;
      System.out.println("The number is defined as " +my_input);
      for (i = 2; i <= my_input / 2; ++i) {
         if (IsPrime(i)) {
            if (IsPrime(my_input - i)) {
               System.out.println("The number can be expressed as sum of two prime numbers.");
               System.out.println("The possible solutions are :");
               System.out.printf("%d = %d + %d\n", my_input, i, my_input - i);
               my_temp = true;
            }
         }
      }
      if (!my_temp)
         System.out.println(my_input + " cannot be expressed as the sum of two prime numbers.");
   }
   static boolean IsPrime(int num) {
      boolean my_prime = true;
      for (int i = 2; i <= num / 2; ++i) {
         if (num % i == 0) {
            my_prime = false;
            break;
         }
      }
      return my_prime;
   }
}

Đầu ra

The number is defined as 43
The number can be expressed as sum of two prime numbers.
All the possible solutions are :
43 2 + 41