I det här programmet lär du dig att kontrollera om ett visst tal kan uttryckas som en summa av två primtal eller inte. Detta görs med hjälp av loopar och bryta uttalanden i Java.
För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:
- Java-metoder
- Java för Loop
- Java if … else Uttalande
Exempel: representera ett nummer som summan av två 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 exemplet ovan har vi skapat checkPrime()
metoden för att hitta om ett tal är primt eller inte. Metoden returnerar true
om det godkända numret är primt.
Här har vi nummer 34 . Programmet försöker kontrollera om 34 kan representeras som summan av två primtal.
Programarbete
- Först kör vi en
for
slinga fråni = 2 to number / 2
. - Inuti
for
slingan använde vi tvåif
påståenden. Det första uttalandet kontrollerar om jag är primär eller inte.
Om det är sant,if
kontrollerar det andra uttalandet om detnumber - i
är primärt eller inte. Detta beror på att summan av i och tal - i är lika med antal. - Om det andra uttalandet också är
true
, kan vi säga att talet 34 är en giltig summa av två primtal.