I dette programmet lærer du å sjekke om et gitt tall kan uttrykkes som en sum av to primtall eller ikke. Dette gjøres ved hjelp av sløyfer og pauseuttalelser i Java.
For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:
- Java-metoder
- Java for Loop
- Java if… else Erklæring
Eksempel: Representer et tall som sum av to primtall
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; ) )
Produksjon
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
I eksemplet ovenfor har vi laget checkPrime()
metoden for å finne ut om et tall er primtall eller ikke. Metoden returnerer true
hvis bestått tall er primtall.
Her har vi nummer 34 . Programmet prøver å sjekke om 34 kan representeres som summen av to primtall.
Arbeid av programmet
- Først kjører vi en
for
løkke frai = 2 to number / 2
. - Inne i
for
løkken brukte vi toif
utsagn. Den første uttalelsen sjekker om jeg er primær eller ikke.
Hvis det er sant,if
sjekker den andre påstanden om dennumber - i
er primær eller ikke. Dette er fordi summen av i og tall - i er lik antall. - Hvis den andre setningen også er
true
, kan vi si at tallet 34 er en gyldig sum av to primtall.