iki sayı arasındaki asal sayıları bulma

0 oy
29 Ekim 2016 hakan07 Stajyer (520 puan)   sordu
iki sayı arasındaki asal sayıların toplamı (girilen degerler dahil degil) java dilinde kodunu yazabilirmisiniz?

1 cevap

0 oy
19 Ocak macrun Stajyer (540 puan)   cevapladı

Merhabalar. Aşağıda basit bir algoritma geliştirdim. Bu algoritmada girilen iki değer(a ve b) arasındaki sayılar kadar uzunlukta bir dizi oluşturuluyor. Daha sonra a ve b değerleri arasında ki sayılardan asal olanların yerine sayının kendi değerini, asal olmayan sayıların yerine ise 0 değeri gönderiyor(toplamlarını istediğiniz için 0 göndermesi bir şeyi değiştirmeyecek). Daha sonra ise sonda ki for döngüsü yardımıyla bu dizideki sayıların toplamını buluyor ve yazdırıyor. Dediğim gibi basit bir algoritma; en iyi performansı tabi ki vermez, benim aklıma ilk gelen buydu.

 

import java.util.Scanner;

public class asalsayi {
    public static void main(String[] args){
        int a,b,add=0,sonuc=0,dogruluk=0;
        Scanner input=new Scanner(System.in);
        System.out.println("İlk sayiyi giriniz: ");
        a=input.nextInt();
        System.out.println("İkinci sayiyi giriniz: ");
        b=input.nextInt();
        int[] dizi = new int[b-a-1];
        for(int i = a+1;i<b;i++){
            for(int j=2;j<i;j++){
                if(i%j==0){
                    dogruluk=0;
                    break;
                }
                else{
                    dogruluk=1;
                }
            }
            if(dogruluk==1) {
                dizi[add] = i;
            }
            if(dogruluk==0) {
                dizi[add] = 0;
            }
            add++;
        }
        for(int i=0;i<b-a-1;i++){
            int toplam=0;
            sonuc += dizi[i];
        }
        System.out.print(sonuc);
    }
}
...