Goldbach teoremi algoritması (Her çift sayı kendisinden önceki asal çiftlerin toplamına eşittir.)

Haziran 29, 2020 0 Yazar: alikperislam

package javadersleri;
import java.util.Random;
public class final_asalçiftleri {
public static void main(String []args){
// (Goldbach teoremine göre her çift sayı kendisinden önceki iki asal sayının toplamıdır.)
// önce 0-100 arasında ki tüm asal sayıları bir asal dizisinin içerisine yazdım.
int dizi[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53,
59, 61, 67, 71, 73, 79, 83, 89, 97};
// daha sonra Random kütüphanesini kullanarak 2-100 arasında bir rastgele sayı oluşturmasını istedim.
Random rastgele = new Random();
int rastgele_sayi = rastgele.nextInt(100)+2;
// oluşturduğu rastgele sayı eğer çift sayı ise blok’un içerisinde gerekli işlemleri yaptırdım.
if(rastgele_sayi%2==0){
// önce ekrana oluşturulan çift rastgele sayımızı yazdırdım.
System.out.println(“Rastgele çift sayımız : “+rastgele_sayi+”\n”);
// iç içe 2 tane for döngüsü kurdum.
// ilk for döngüsünde dizinin tüm elemanlarını tek tek ‘i’ ile gezdik.
for(int i=0;i<dizi.length;i++){
// ikinci for döngüsünde dizinin tüm elemanlarını bu sefer ‘j’ ile gezdik.
for(int j=0;j<dizi.length ;j++){
// daha sonra örneğin dizi[i] == 17 ve dizi[j] == 13 ise eğer
// bizim bilgisayarımızın ürettiği çift rastgele sayımızda 30’a eşitse eğer
// dizi[i]+dizi[j]==rastgele_Sayi olmuş oluyor ve bu asal çiftini program
// kabul ediyor.
// bu şekilde tüm asal çiftlerini teker teker i ve j yardımıyla dizide gezerek
// kontrol ediyor çift sayımıza eşit olan asal çiftlerini kontrol edip ekrana yazdırıyor hepsini.
if(dizi[i]+dizi[j]==rastgele_sayi){
// 1.asal ve 2. asal sayılarımızı ekrana yazdırmış olduk bu sayede.
System.out.println(“Asal çiftinin ilk sayısı : “+dizi[i]+”\nAsal çiftinin ikinci sayısı : “+dizi[j]+”\n”);
}
}
}
}
// oluşturulan rastgele sayı çift değilse sayı çifte değil diye ekrana bir yazı yazdırdım.
else {
System.out.println(“Sayı çift değil…”);
}
}
}