U ovom ćete programu naučiti provjeriti može li se zadani broj izraziti kao zbroj dva prosta broja ili ne. To se radi uz pomoć petlji i break naredbi u Javi.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:
- Java metode
- Java za petlju
- Java if … else Izjava
Primjer: Predstavite broj kao Zbir dva prosta broja
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; ) )
Izlaz
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
U gornjem primjeru stvorili smo checkPrime()
metodu kako bismo utvrdili je li broj prost ili nije. Metoda se vraća true
ako je proslijeđeni broj prost.
Evo, imamo broj 34 . Program pokušava provjeriti može li se 34 predstaviti kao zbroj dva prosta broja.
Rad programa
- Prvo pokrećemo
for
petlju izi = 2 to number / 2
. - Unutar
for
petlje koristili smo dvijeif
izjave. Prva izjava provjerava jesam li prosti ili nisam.
Ako je točno, drugaif
izjava provjerava je linumber - i
prosta ili nije. To je zato što je zbroj i i broja - i jednak broju. - Ako je i druga tvrdnja
true
, onda možemo reći da je broj 34 valjan zbroj dva prosta broja.