Java program annak ellenőrzésére, hogy egy szám kifejezhető-e két prímszám összegeként

Ebben a programban megtanulja ellenőrizni, hogy egy adott szám kifejezhető-e két prímszám összegeként, vagy sem. Ez a Java ciklusainak és break utasításainak segítségével történik.

A példa megértéséhez ismernie kell a következő Java programozási témákat:

  • Java módszerek
  • Java a hurokhoz
  • Java if… else nyilatkozat

Példa: ábrázoljon egy számot két prímszám összegeként

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

Kimenet

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

A fenti példában létrehoztuk a checkPrime()módszert annak megállapítására, hogy egy szám prím-e vagy sem. A metódus akkor tér vissza, trueha a megadott szám prím.

Itt van egy 34-es számunk . A program megpróbálja ellenőrizni, hogy a 34 ábrázolható-e két prímszám összegeként.

A program működése

  • Először futunk egy forhurkot i = 2 to number / 2.
  • A forhurok belsejében két ifállítást használtunk . Az első utasítás ellenőrzi, hogy i prím-e vagy sem.
    Ha igaz, akkor a második ifállítás ellenőrzi, hogy number - ielsődleges-e vagy sem. Ennek oka, hogy az i és a szám - i összege megegyezik a számmal.
  • Ha a második állítás is true, akkor azt mondhatjuk, hogy a 34-es szám két prímszám érvényes összege.

érdekes cikkek...