Bu örneğimizde kullanıcının girdiği sayının asal sayı olup olmadığını bulup ekrana yazdıracağız.
Asal Sayı = Sadece 1’e ve kendisine tam bölünebilen sayılardır.
Programlama dillerinde bir sayının asal olup olmadığını bulmak için döngüleri kullanırız. 2 döngüde aynı mantıkla çalışır.
For döngüsü yardımıyla girilen sayının 2’den itibaren kendisine kadar herhangi bir sayıya bölünüp bölünmediğini kontrol edeceğiz. Eğer sayı hiçbir sayıya tam olarak bölünmemiş ise o sayı asal bir sayıdır.
“sayac” adında değişken sayesinde bunu kontrol edeceğiz.
package kodbloklari.com;
import java.util.Scanner;
public class asalSayi_Bulma {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("Bir sayi giriniz: ");
int sayi = scan.nextInt();
int sayac = 0;
for(int i = 2; i < sayi; i++)
{
if(sayi % i == 0) {
sayac++;
}
}
if(sayac == 0) {
System.out.println(sayi + " Asal bir sayidir.");
}
else {
System.out.println(sayi + " Asal bir sayi degildir.");
}
}
}
17.satırdaki işlemle sayının herhangi bir sayıya tam olarak bölünüp bölünmediğini kontrol ediyoruz.
Bu işlemi “%” operatörü ile yapıyoruz. “%” operatörü bölümünden kalanı verir. Bölümünden kalanı 0’a eşit ise o sayıyı tam böler. Konunun detaylı anlatımı için Java Dili Operatörler sayfasından Aritmetik Operatörleri inceleyebilirsiniz.
While döngüsünü kullanarak da girilen sayının asal olup olmadığını kontrol edebiliriz. Yukarıdaki örnekle aynı mantıkla çalışır. 2’den itibaren kendisine kadar olan sayılardan hiçbirine tam bölünmemiş ise asal sayıdır.
Kodu şu şekildedir:
package kodbloklari.com;
import java.util.Scanner;
public class asalSayi_Bulma {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("Bir sayi giriniz: ");
int sayi = scan.nextInt();
int sayac = 0;
int i = 2;
while(i < sayi) {
if(sayi % i == 0) {
sayac++;
}
i++;
}
if(sayac == 0) {
System.out.println(sayi + " Asal bir sayidir.");
}
else {
System.out.println(sayi + " Asal bir sayi degildir.");
}
}
}
İki kodun da ekran çıktısı şu şekildedir:
