C Programlama Dili aralarında asal sayı olup olmadığını kontrol etme kodunu iki farklı yöntem ile bulabilirsiniz. Aralarında asal sayı kontrolünü en basit şekilde bulabilirsiniz.
C Programlama Dili aralarında asal sayı olup olmadığını kontrol etme kodunu iki farklı yöntem ile bulabilirsiniz. Bu yöntemlerin birincisi OBEB (Ortak Bölenlerinin En Büyüğü) kontrolü ile diğeri ise her iki sayıyı da aynı anda kontrol ederek aralarında asal sayı kontrolü yapabilirsiniz. Ayrıca C Programlama Dili OBEB Bulma başlıklı konudan OBEB hakkında bilgi alabilirsiniz.
C Programlama Dili Aralarında Asal Sayı Olup Olmadığını Kontrol Etme
Yöntem 1:
Aynı anda bir sayıya tam bölünüp bölünmediği kontrol ediliyor.
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
50
51
52
53
|
#include <stdio.h>
#include <conio.h>
//Aralarında Asal Sayı Olup Olmadığını Kontrol Etme
//Cemalettin Serit ckaynak.com | teknooneri.com | cemserit.com | wpeklentiler.com
int main(){
int sayi1, sayi2, buyuk, kucuk, kontrol=0, i;
printf("Birinci Sayiyi Giriniz: ");
scanf("%d", &sayi1);
printf("Ikinci Sayiyi Giriniz: ");
scanf("%d", &sayi2);
if ( sayi1 < 1 || sayi2 < 1){
printf("Lutfen pozitif tam sayi giriniz!!!");
getch();
return 0;
}
else if ( sayi1 == 1 || sayi2 == 1){
printf("%d ile %d aralarinda asal degildir", sayi1, sayi2);
getch();
return 0;
}
if (sayi1 > sayi2){ //Küçük ve büyük sayıları buluyoruz
buyuk = sayi1;
kucuk = sayi2;
}
else{
buyuk = sayi2;
kucuk = sayi1;
}
for(i=2; i<=kucuk; i++){
if( (buyuk % i == 0) && (kucuk % i == 0) ){
kontrol = 1; // Herhangi bir sayıyıa bölündü ile kontrol 1 olur
break; // Diğer sayılara bölmeye gerek kalmadığı için döngüden çıkılır
}
}
if(kontrol == 1)
printf ("%d ile %d aralarinda asal degildir", sayi1, sayi2);
else
printf ("%d ile %d aralarinda asaldir", sayi1, sayi2);
getch();
return 0;
}
|
Yöntem 2:
Obeb kontrolü yapıyor. Obeb 1 ise aralarında asal sayıdır.
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
50
51
52
|
#include <stdio.h>
#include <conio.h>
//Aralarında Asal Sayı Olup Olmadığını Kontrol Etme Yöntem 2
//Cemalettin Serit ckaynak.com | teknooneri.com | cemserit.com | wpeklentiler.com
int main(){
int sayi1, sayi2, buyuk, kucuk, sonuc=1, i;
printf("Birinci Sayiyi Giriniz: ");
scanf("%d", &sayi1);
printf("Ikinci Sayiyi Giriniz: ");
scanf("%d", &sayi2);
if ( sayi1 < 1 || sayi2 < 1){
printf("Lutfen pozitif tam sayi giriniz!!!");
getch();
return 0;
}
else if ( sayi1 == 1 || sayi2 == 1){
printf("%d ile %d aralarinda asal degildir", sayi1, sayi2);
getch();
return 0;
}
if (sayi1 > sayi2){ //Küçük ve büyük sayıları kontrol ediyoruz
buyuk = sayi1;
kucuk = sayi2;
}
else{
buyuk = sayi2;
kucuk = sayi1;
}
for(i=2; i<=kucuk; i++){
if( buyuk % i == 0 && kucuk % i == 0) // Obeblerini kontrol ediyoruz
sonuc = i;
}
if(sonuc == 1) // Obeb 1 ise aralarında asaldır
printf ("%d ile %d aralarinda asaldir", sayi1, sayi2);
else
printf ("%d ile %d aralarinda asal degildir", sayi1, sayi2);
getch();
return 0;
}
|