Aşağıdaki program, girilen sayıdan 1′e kadar olan asal sayıları bulmaktadır:
#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;
}
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.
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.

Bu örnekte iç içe for kullanımı ve kontrol deyimlerini doğru kullanmak amaçlanmıştır.
Bu yorum şu adresten gelmiştir: FriendFeed
Gerçekten de güzel düşünmüşsün Yener.Yol almak baştan başlar ve hep sürer.Daha da iyi çalışmalar yapman dileğiyle…
Yener kardeşim, ikinci döngüdeki {j=i-1} yerine basitçe {j=(i/2)+1} yapsan program 3 kat hızlanyor, bu ideal çözüm değil ama erastatones kalburunu gözden geçirmeni salık veririm.
Tavsiyen için teşekkürler abi, dediğini deneyeceğim.