Š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ą nuoi = 2 to number / 2. - Kilpos viduje
formes panaudojome duifteiginius. Pirmasis teiginys patikrina, ar aš esu pagrindinis, ar ne.
Jei tiesa, antrasisifteiginys patikrina, ar jisnumber - 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.








