Tam bölen demek, bölenden kalan 0 demek. Bu durumda % işaretiyle kalanın 0 olup olmadığını kontrol etmek gerekiyor.
Öncelikle i, sayi ve 0'a eşit olan sayac adında integer değişkenler oluşturuyorum.
int i,sayi,sayac=0;
Ardından kullanıcının sayı girmesini istiyorum. scanf komutuyla sayıyı kullanıcıdan alıyorum.
printf("Sayiyi girin : ");
scanf("%d",&sayi);
Daha sonra bir for döngüsü oluşturuyorum ve 2'den başlatarak <sayi olana kadar devam ediyorum.
Döngümün içine bir if şartı koyuyorum ve eğer kalan 0 ise sayac değişkenini 1 arttırıyorum.
for(i=2;i<sayi;i++)
{
if(sayi%i==0)
{
sayac++;
}
}
Son olarak sayac değişkenini kontrol ediyorum. Eğer sayaç 0'a eşit ise kalansız böleni yok demektir. Yani sayı asaldır. Aksi taktirde ise sayı asal değildir.
if(sayac==0)
{
printf("Asal");
}
else
{
printf("Asal degil");
}
Programı çalıştırdığımda ve bir sayı girdiğimde aşağıdaki gibi bir ekranla karşılaşıyorum.
Kodun tamamı :
#include<stdio.h>
#include<conio.h>
main()
{
int i,sayi,sayac=0;
printf("Sayiyi girin : ");
scanf("%d",&sayi);
for(i=2;i<sayi;i++)
{
if(sayi%i==0)
{
sayac++;
}
}
if(sayac==0)
{
printf("Asal");
}
else
{
printf("Asal degil");
}
getch();
}
10 yorum:
çok işime yaradı sağolun cok tesekkürler!
Bro kodlarda hata var sadece 10 A kadar çalışıyor 10 dan büyük sayılarda çalışmıyor
Bro kodlarda hata var sadece 10 A kadar çalışıyor 10 dan büyük sayılarda çalışmıyor
ben yeni başladım c'ye. kaynak kodum şu şekilde.
#include
#include
#include
int main(){
double bolunen,bolen=2,kalan;
printf("\nTest edilecek birden buyuk sayiyi giriniz:");
scanf("%lf",&bolunen);
if(bolunen==2)
printf("%.0lf sayisi asaldir.\n",bolunen);
else
kalan=fmod(bolunen,bolen);
while(kalan!=0&&bolen!=bolunen)
{
bolen++;
kalan=fmod(bolunen,bolen);
if(bolen==bolunen)
printf("%.0lf sayisi asaldir.\n",bolunen);
}
if(bolen==bolunen);
else
printf("%.0lf sayisi asal degildir.\n",bolunen);
system("pause");
return 0;
}
paylaşım için teşekkürler
girilen asal sayıdan sonraki 5 asal sayıyı ekrana yazan program
nasıl olcak
tc numaramızın önceki 10 adet asal sayıyı ve sonraki 10 adet asal sayıyı bulan programın kodları lazım. Yardımlarınızı bekliyorum.
Yorum Gönder