C’de Asal Sayı Problemi
10/03/2010
by Yener Yıldız
4 comments
Aşağıdaki program, girilen sayıdan 1′e kadar olan asal sayıları bulmaktadır:
Burada küçük bir uygulama görüyorsunuz. Algoritması oldukça basit, girilen sayıdan 1′e kadar her döngüde girilen sayı sürekli kendinden küçük sayılara bölünüyor ve modu kontrol ediliyor. Eğer mod sıfır olursa döngüden çıkıyor, olmazsa bütün sayıları kontrol edip etmediğine bakıyor. Edildiyse ekrana sayıyı yazdırıyor.
#include<stdio .h> #include<conio .h> int main(){ int i,x=1,a=0,j,sayi; printf("Sayiyi giriniz:"); scanf("%d",&sayi); for(i=sayi;i>1;i--){ for(j=i-1;j>1;j--){ if(i%j!=0)x=1; else{ x=0; break; } if(x==1&&j==2)printf("Bu sayi asal:%d\n",i); //döngü sonu kontrolü } } return 0; } </conio></stdio>
Burada dikkat edilmesi gerekenler özellikle for döngüsü içindeki sınırlardır. Dikkat ederseniz ikinci for döngüsü girilen sayıdan bir azaltılarak başlamıştır ki sayı kendine bölünmesin. Bu örnekte iç içe for kullanımı ve kontrol deyimlerini doğru kullanmak amaçlanmıştır.

(2 oy, ortalama: 4,50 / 5)