Java-program för att kontrollera om ett nummer kan uttryckas som summan av två primtal

I det här programmet lär du dig att kontrollera om ett visst tal kan uttryckas som en summa av två primtal eller inte. Detta görs med hjälp av loopar och bryta uttalanden i Java.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java-metoder
  • Java för Loop
  • Java if … else Uttalande

Exempel: representera ett nummer som summan av två primtal

 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", 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; ) )

Produktion

 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17

I exemplet ovan har vi skapat checkPrime()metoden för att hitta om ett tal är primt eller inte. Metoden returnerar trueom det godkända numret är primt.

Här har vi nummer 34 . Programmet försöker kontrollera om 34 kan representeras som summan av två primtal.

Programarbete

  • Först kör vi en forslinga från i = 2 to number / 2.
  • Inuti forslingan använde vi två ifpåståenden. Det första uttalandet kontrollerar om jag är primär eller inte.
    Om det är sant, ifkontrollerar det andra uttalandet om det number - iär primärt eller inte. Detta beror på att summan av i och tal - i är lika med antal.
  • Om det andra uttalandet också är true, kan vi säga att talet 34 är en giltig summa av två primtal.

Intressanta artiklar...