C dili - Bir tamsayının asal sayı olup olmadığını kontrol etme

Tamsayının asal sayı olup olmadığını kontrol etmek için C dilinde bir program kullanılabilir. Bazı programlama kavramları ve C gibi diller hakkında bilgi sahibi olmak için, C'ye bir program kodu yazmanız gerekir. Döngüler için de dahil olmak üzere döngü gibi temel kavramların program yazması için de döngüler, fonksiyonlar vb. Bir tamsayının C'deki asal sayı olup olmadığını kontrol etmek için bir program , döngüler için iç içe kullanılarak yazılabilir. İç içe geçmiş döngüler, içteki ilmek için bir tane içerir. Scanf ve printf gibi bazı C fonksiyonları bilgisi de C dilinde programlama yaparken yardımcı olacaktır.

[C dili] Bir tamsayının asal sayı olup olmadığını kontrol etme

  • Asal sayının tanımı
    • Algoritma 1: 2 ile N-1 arasındaki bölenler test edilecektir
    • Algoritma 2: Bölenler bile test edilmeyecek, araştırmalar tek bölenlerle sınırlı
    • Algoritma 3: N'nin kareköküne kadar bütün garip bölenler test edilecektir
    • Algoritma 4: Bir bölücü bulunduğunda programı durdur

Asal sayının tanımı

Asal sayı, sadece 1 ve kendisi tarafından bölünen bir tam sayıdır.

Algoritma 1: 2 ile N-1 arasındaki bölenler test edilecektir

/ **************************

  • prime_number1.c * / / * algoritması: tüm bölücülerinizi test edin * / #include int main (void) {int i, nb, count, test; test = sayısı = 0; printf ("tamsayıyı girin:"); if (scanf ("% d", & nb)! = 1) -1 döndürür; (i = 2; i <nb; i ++, count ++) için (nb% i == 0) test = 1; if (! test) printf ("% d asal sayı, yineleme sayısı =% dn", nb, sayı); else printf ("% d bir asal sayı değil, yineleme sayısı =% dn", nb, count); 0 döndür; }

Algoritma 2: Bölenler bile test edilmeyecek, araştırmalar tek bölenlerle sınırlı

/ **************************

  • prime_number2.c * / / * algoritması: çift sayıları hariç tutun ve * tüm bölücülerinizi test edin * / #include int main (void) {int i, nb, count, test; test = sayısı = 0; printf ("tamsayıyı girin:"); if (scanf ("% d", & nb)! = 1) -1 döndürür; eğer (nb% 2 == 0) test = 1; else {için (i = 3; i <nb; i + = 2, count ++) eğer (nb% i == 0) test = 1; } if (! test) printf ("% d asal sayı, yineleme sayısı =% dn", nb, sayı); else printf ("% d bir asal sayı değil, yineleme sayısı =% dn", nb, count); 0 döndür; }

Algoritma 3: N'nin kareköküne kadar bütün garip bölenler test edilecektir

/ **************************

  • prime_number3.c * / / * algoritması: tüm çift sayıları hariç tutar ve * tüm bölücülerleri kareköke kadar test eder * / #include #include int main (void) {int i, nb, count, test, limit; test = sayısı = 0; printf ("tamsayıyı girin:"); if (scanf ("% d", & nb)! = 1) -1 döndürür; limit = sqrt (nb) + 1; eğer (nb% 2 == 0) test = 1; else {için (i = 3; i <limit; i + = 2, count ++) eğer (nb% i == 0) test = 1; } if (! test) printf ("% d asal sayı, yineleme sayısı =% dn", nb, sayı); else printf ("% d asal sayı değil, yineleme sayısı =% dn", nb, sayı); 0 döndür; }

Algoritma 4: Bir bölücü bulunduğunda programı durdur

/ **************************

  • prime_number4.c * / / * algoritması: tüm çift sayıları hariç tutar ve * ilk bölücü bulunduğunda * bütün bölücülerleri kareköke kadar test eder * çıkış döngüsü * / #include #include int main (void) {int i, nb, count, Test, sınır; test = sayısı = 0; printf ("Tamsayı girin:"); if (scanf ("% d", & nb)! = 1) -1 döndürür; limit = sqrt (nb) + 1; eğer (nb% 2 == 0) test = 1; else {için (i = 3; i <limit &&! testi; i + = 2, count ++) eğer (nb% i == 0) test = 1; } if (! test) printf ("% d asal sayı, yineleme sayısı =% dn", nb, sayı); else printf ("% d asal sayı değil, yineleme sayısı =% dn", nb, sayı); 0 döndür; }
Önceki Makale Sonraki Makale

En Ipuçları