Bütün sayılara bakmak yerine sadece tek sayılara bakarsan daha hızlı olur. 2'den başka asal çift sayı yoktur.
2010/3/10 Onur Küçük <[email protected]> > > 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 >
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
