I dette program lærer du at kontrollere, om et givet tal kan udtrykkes som en sum af to primtal eller ej. Dette gøres ved hjælp af sløjfer og break-udsagn i Java.
For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:
- Java-metoder
- Java til Loop
- Java hvis … ellers Erklæring
Eksempel: Repræsenter et tal som sum af to primtal
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; ) )
Produktion
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
I eksemplet ovenfor har vi oprettet checkPrime()
metoden til at finde ud af, om et tal er primært eller ej. Metoden vender tilbage, true
hvis det beståede nummer er prime.
Her har vi nummer 34 . Programmet forsøger at kontrollere, om 34 kan repræsenteres som summen af to primtal.
Arbejde i programmet
- Først kører vi en
for
løkke frai = 2 to number / 2
. - Inde i
for
sløjfen brugte vi toif
udsagn. Den første erklæring kontrollerer, om jeg er primær eller ej.
Hvis det er sandt,if
kontrollerer den anden erklæring, om dennumber - i
er primær eller ej. Dette skyldes, at summen af i og tal - i er lig med antal. - Hvis den anden sætning også er
true
, kan vi sige, at tallet 34 er en gyldig sum af to primtal.