Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java เพื่อตรวจสอบว่าตัวเลขสามารถแสดงเป็นผลรวมของเลขเด่นสองตัวได้หรือไม่


ในบทความนี้ เราจะเข้าใจวิธีการตรวจสอบว่าจำนวนหนึ่งสามารถแสดงเป็นผลรวมของจำนวนเฉพาะสองตัวได้หรือไม่ จำนวนเฉพาะคือจำนวนพิเศษที่มีตัวประกอบเพียงสองตัวคือ 1 และตัวมันเอง และไม่สามารถหารด้วยหมายเลขอื่นได้

ตัวเลขเป็นจำนวนเฉพาะหากมีตัวประกอบเพียงตัวเดียวคือ 1 กับตัวมันเอง 11 เป็นจำนวนเฉพาะ ตัวประกอบคือ 1 และ 11 เอง ตัวอย่างของจำนวนเฉพาะ ได้แก่ 2, 3, 5, 7, 11, 13 เป็นต้น 2 เป็นจำนวนเฉพาะคู่เดียว จำนวนเฉพาะอื่นๆ ทั้งหมดเป็นเลขคี่

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -

ป้อนข้อมูล

สมมติว่าข้อมูลที่เราป้อนคือ −

Input number : 43

ผลผลิต

ผลลัพธ์ที่ต้องการจะเป็น −

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

อัลกอริทึม

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

ตัวอย่างที่ 1

ที่นี่ ผู้ใช้ป้อนอินพุตตามข้อความแจ้ง คุณสามารถลองใช้ตัวอย่างนี้ในเครื่องมือกราวด์ของเรา โปรแกรม Java เพื่อตรวจสอบว่าตัวเลขสามารถแสดงเป็นผลรวมของเลขเด่นสองตัวได้หรือไม่ .

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;
   }
}

ผลลัพธ์

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

ตัวอย่างที่ 2

ในที่นี้ มีการกำหนดจำนวนเต็มก่อนหน้านี้ และเข้าถึงและแสดงค่าบนคอนโซล

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;
   }
}

ผลลัพธ์

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