Bu programda, belirli bir sayının iki asal sayının toplamı olarak ifade edilip edilemeyeceğini kontrol etmeyi öğreneceksiniz. Bu, Java'daki döngüler ve break ifadeleri yardımıyla yapılır.
Bu örneği anlamak için, aşağıdaki Java programlama konuları hakkında bilgi sahibi olmalısınız:
- Java Yöntemleri
- Döngü için Java
- Java if… else İfadesi
Örnek: Bir sayıyı İki Asal Sayının Toplamı olarak temsil edin
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; ) )
Çıktı
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
Yukarıdaki örnekte, checkPrime()
bir sayının asal olup olmadığını bulmak için bir yöntem oluşturduk . true
Geçirilen sayı asal ise yöntem geri döner .
Burada 34 numaramız var . Program 34'ün iki asal sayının toplamı olarak temsil edilip edilemeyeceğini kontrol etmeye çalışır .
Programın Çalışması
- İlk olarak, '
for
dan bir döngü çalıştırıyoruzi = 2 to number / 2
. for
Döngünün içinde ikiif
ifade kullandık . İlk ifade i'nin asal olup olmadığını kontrol eder.
Doğruysa, ikinciif
ifadenumber - i
asal olup olmadığını kontrol eder . Bunun nedeni, i ve sayı - i'nin toplamının sayıya eşit olmasıdır.- İkinci ifade de ise
true
, 34 sayısının iki asal sayının geçerli bir toplamı olduğunu söyleyebiliriz .