У овом програму ћете научити да проверавате да ли се дати број може изразити као збир два проста броја или не. То се ради уз помоћ петљи и бреак наредби у Јави.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:
- Јава методе
- Јава за петљу
- Изјава за Јава ако … друго
Пример: Представите број као Збир два проста броја
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; ) )
Оутпут
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
У горњем примеру створили смо checkPrime()
методу како бисмо утврдили да ли је неки број прост или не. Метода се враћа true
ако је прослеђени број прост.
Ево, имамо број 34 . Програм покушава да провери да ли се 34 може представити као збир два проста броја.
Рад програма
- Прво покрећемо
for
петљу изi = 2 to number / 2
. - Унутар
for
петље користили смо двеif
изјаве. Прва изјава проверава да ли сам прости или нисам.
Ако је тачно, другаif
изјава проверава да лиnumber - i
је проста или не. То је зато што је збир и и броја - и једнак броју. - Ако је и друга изјава
true
, онда можемо рећи да је број 34 важећи збир два проста броја.