merhaba;
1den 100e kadar aralarında asal olan sayıları yazdırması için bir prog.
yazdım. mantık olarak şöyle düşündüm; eğer obebleri 1 ise bu sayılar
aralarında asaldır. önce divi fonksiyonunda obeblerini buluyor sonra mainde
obeblerinin 1 olup olmadığını kontrol ediyor ve 1 ise yazdırıyor. sorum şu:
nasıl bir mantık uygulayayım ki kodları daha kısa yazayım?
kodlar şöyle:
#include<stdio.h>
#include<stdlib.h>
int divi(int a,int b)
{
int max,min;
if(a==0||b==0){
if(a>b)
return a;
else
return b;
}
else {
if(a<b){
min=a;
max=b;
}
else {
min=b;
max=a;
}
if(max%min==0)
return min;
else
return divi(max,max%min);
}}
int main()
{
for(int x=1;x<100;x++)
for(int y=1;y<100;y++){
if(divi(x,y)==1)
printf("\\\\n%d %d\\\\n",x,y);
}
system("pause");
return 0;
}
teşekkür ederim. iyi günler.
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php