V tem programu se boste naučili preverjati, ali lahko določeno število izrazimo kot vsoto dveh praštevil. To se naredi s pomočjo stavkov zank in prekinitev v Javi.
Če želite razumeti ta primer, morate poznati naslednje programske teme Java:
- Java metode
- Java za zanko
- Izjava Java, če … drugače
Primer: Število predstavite kot vsoto dveh praštevil
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; ) )
Izhod
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
V zgornjem primeru smo ustvarili checkPrime()
metodo za ugotavljanje, ali je število prosto ali ne. Metoda vrne, true
če je posredovano število prosto.
Tu imamo številko 34 . Program skuša preveriti, ali je 34 mogoče predstaviti kot vsoto dveh praštevil.
Delovanje programa
- Najprej zaženemo
for
zanko izi = 2 to number / 2
. - Znotraj
for
zanke smo uporabili dvaif
stavka. Prvi stavek preveri, ali je i prime ali ne.
Če je res, drugiif
stavek preveri, alinumber - i
je primeren ali ne. To je zato, ker je vsota i in število - i enaka številu. - Če je tudi druga trditev
true
, lahko rečemo, da je število 34 veljavna vsota dveh praštevil.