„Java“ programa, skirta patikrinti, ar skaičių galima išreikšti kaip dviejų pirminių skaičių sumą

Šioje programoje išmoksite patikrinti, ar nurodytą skaičių galima išreikšti dviejų pirminių skaičių suma, ar ne. Tai daroma naudojant „Java“ kilpų ir pertraukų teiginius.

Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:

  • „Java“ metodai
  • „Java for Loop“
  • „Java“, jei… kitas pareiškimas

Pavyzdys: pavaizduokite skaičių kaip dviejų pirminių skaičių sumą

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

Rezultatas

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

Ankstesniame pavyzdyje mes sukūrėme checkPrime()metodą, norėdami sužinoti, ar skaičius yra pagrindinis, ar ne. Metodas grąžinamas, truejei perduotas skaičius yra pagrindinis.

Čia mes turime skaičių 34 . Programa bando patikrinti, ar 34 gali būti pavaizduota kaip dviejų pirminių skaičių suma.

Programos darbas

  • Pirma, mes paleisti forkilpą nuo i = 2 to number / 2.
  • Kilpos viduje formes panaudojome du ifteiginius. Pirmasis teiginys patikrina, ar aš esu pagrindinis, ar ne.
    Jei tiesa, antrasis ifteiginys patikrina, ar jis number - iyra pagrindinis, ar ne. Taip yra todėl, kad i ir skaičiaus - i suma lygi skaičiui.
  • Jei antrasis teiginys taip pat yra true, tada galime sakyti, kad skaičius 34 yra galiojanti dviejų pirminių skaičių suma.

Įdomios straipsniai...