On Fri, 5 Mar 2010 17:12:43 +0200
papatya prenses <[email protected]> wrote:
> 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?
OBEB bulmak için büyük sayıdan küçük sayıyı çıkararak gitmek daha rahat olur
> system("pause");
Bu kodu DOS/Windows altında mı yazıyorsunuz ? system() kullanmak iyi
bir fikir değil, ayrıca pause un Linux'da yaygın bir komut olduğunu
zannetmiyorum.
Örnek kod şöyle olabilir;
#include <stdio.h>
#include <unistd.h>
int AralarindaAsal(int j, int k) {
int t;
while ( j > 0 ) {
if ( k > j ) {
t = j;
j = k;
k = t;
}
j -= k;
}
return k==1;
}
int main(int argc, char *argv[]) {
int m, n, MAXVAL = 100;
for (m=2; m < MAXVAL; m++) {
for (n = 2; n < m; n++) {
if (AralarindaAsal(m, n))
printf("%d %d\n", m, n);
}
}
return pause();
}
--
Onur Küçük Knowledge speaks,
<onur.--.-.delipenguen.net> but wisdom listens
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php