În acest program, veți învăța să verificați dacă un anumit număr poate fi exprimat ca o sumă de două numere prime sau nu. Acest lucru se face cu ajutorul buclelor și instrucțiunilor de rupere în Java.
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:
- Metode Java
- Java pentru buclă
- Java dacă … altfel Declarație
Exemplu: Reprezentați un număr ca Suma a două numere prime
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; ) )
Ieșire
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
În exemplul de mai sus, am creat checkPrime()
metoda pentru a afla dacă un număr este sau nu prim. Metoda revine true
dacă numărul trecut este prim.
Aici avem un număr 34 . Programul încearcă să verifice dacă 34 poate fi reprezentat ca suma a două numere prime.
Lucrarea programului
- Mai întâi, rulăm o
for
buclă de lai = 2 to number / 2
. - În interiorul
for
buclei, am folosit douăif
afirmații. Prima declarație verifică dacă i este prim sau nu.
Dacă este adevărat, a douaif
afirmație verifică dacănumber - i
este primă sau nu. Acest lucru se datorează faptului că suma lui i și a numărului - i este egală cu numărul. - Dacă și a doua afirmație este
true
, atunci putem spune că numărul 34 este o sumă validă a două numere prime.