-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path11-GirilenSayininAsalOlupOlmadiginiBulma.java
49 lines (44 loc) · 1.67 KB
/
11-GirilenSayininAsalOlupOlmadiginiBulma.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Scanner kütüphanesi
import java.util.Scanner;
public class AsalSayiBulma {
public static void main(String[] args) {
System.out.print("Sayıyı giriniz: ");
// Scanner nesnesi oluşturuluyor.
Scanner veriAl = new Scanner(System.in);
int sayi = veriAl.nextInt();
// En küçük asal sayı 2 olduğu için 2 verdik.
int sayac = 0, bolen = 2;
while(true){
/** sayi ile bolen eşit olana kadar bolen sürekli arttırılıyor.
* bolen ile sayi eşit olduğu zaman while döngüsünden çıkılıyor.
* Asal bir sayı girildiyse birinci if'in içine hiç bir zaman
* girmiyor. Bu yüzden sayaç 0 oluyor. Sayaç 0 olduğunda ise asal
* yazdırıyor.
*
* Asal olmayan bir sayı girseydik mesela 6. bolen 2'den başlıyor
* ve 6, 2'ye bölünebildiği için sayaç artacak. break komutu ile
* döngüden çıkacak ve sayaç 0'dan büyük olduğu için asal değil
* yazdıracak.
*/
if (sayi % bolen == 0) {
sayac++;
break;
}
bolen++;
if (bolen == sayi) {
break;
}
}
if (sayac == 0) {
System.out.println("Girilen sayı asal");
} else {
System.out.println("Girilen sayı asal değil");
}
}
/** Denemelik asal sayılar
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 101 103 107 109 113
127 131 137 139 149 151 157 163 167
*/
}