Ngôn ngữ C - Kiểm tra xem một số nguyên có phải là số nguyên tố không

Một chương trình trong ngôn ngữ C có thể được sử dụng để kiểm tra xem một số nguyên có phải là số nguyên tố hay không . Một số kiến ​​thức về các khái niệm và ngôn ngữ lập trình như C được yêu cầu để viết mã chương trình trong C. Các khái niệm cơ bản như lặp, bao gồm các vòng lặp, trong khi các vòng lặp, nếu các vòng lặp khác, các hàm, v.v., là cần thiết để viết chương trình. Một chương trình để kiểm tra xem một số nguyên có phải là số nguyên tố trong C hay không bằng cách sử dụng các vòng lặp lồng nhau . Các vòng lặp lồng nhau chứa một vòng lặp cho vòng lặp khác. Một số kiến ​​thức về các chức năng C như scanf và printf cũng sẽ chứng minh là hữu ích khi lập trình trong C.

[Ngôn ngữ C] Kiểm tra xem một số nguyên có phải là số nguyên tố không

  • Định nghĩa số nguyên tố
    • Thuật toán 1: các ước số giữa 2 và N-1 sẽ được kiểm tra
    • Thuật toán 2: Ngay cả các ước số sẽ không được kiểm tra, nghiên cứu chỉ giới hạn ở các ước số lẻ
    • Thuật toán 3: Tất cả các ước số lẻ cho đến căn bậc hai của N sẽ được kiểm tra
    • Thuật toán 4: dừng chương trình khi tìm thấy một bộ chia

Định nghĩa số nguyên tố

Số nguyên tố là một số nguyên, chỉ được chia cho 1 và chính nó.

Thuật toán 1: các ước số giữa 2 và N-1 sẽ được kiểm tra

/ ****** / TÌM HIỂU

  • thuật toán Prime_number1.c * / / *: kiểm tra tất cả các bộ chia * / #include int main (void) {int i, nb, Count, test; kiểm tra = đếm = 0; printf ("nhập số nguyên:"); if (scanf ("% d", & nb)! = 1) trả về -1; for (i = 2; i <nb; i ++, đếm ++) if (nb% i == 0) test = 1; if (! test) printf ("% d số nguyên tố, số lần lặp =% dn", nb, đếm); other printf ("% d không phải là số nguyên tố, số lần lặp =% dn", nb, Count); trả về 0; }

Thuật toán 2: Ngay cả các ước số sẽ không được kiểm tra, nghiên cứu chỉ giới hạn ở các ước số lẻ

/ ****** / TÌM HIỂU

  • Thuật toán Prime_number2.c * / / *: loại trừ các số chẵn và * kiểm tra tất cả các bộ chia * / #include int main (void) {int i, nb, Count, test; kiểm tra = đếm = 0; printf ("nhập số nguyên:"); if (scanf ("% d", & nb)! = 1) trả về -1; if (nb% 2 == 0) test = 1; khác {for (i = 3; i <nb; i + = 2, tính ++) nếu (nb% i == 0) test = 1; } if (! test) printf ("% d số nguyên tố, số lần lặp =% dn", nb, đếm); other printf ("% d không phải là số nguyên tố, số lần lặp =% dn", nb, Count); trả về 0; }

Thuật toán 3: Tất cả các ước số lẻ cho đến căn bậc hai của N sẽ được kiểm tra

/ ****** / TÌM HIỂU

  • Thuật toán số nguyên tố kiểm tra = đếm = 0; printf ("nhập số nguyên:"); if (scanf ("% d", & nb)! = 1) trả về -1; giới hạn = sqrt (nb) + 1; if (nb% 2 == 0) test = 1; } khác {for (i = 3; i <giới hạn; i + = 2, đếm ++) if (nb% i == 0) test = 1; } if (! test) printf ("% d số nguyên tố, số lần lặp =% dn", nb, đếm); other printf ("% d không phải là số nguyên tố, số lần lặp =% dn", nb, Count); trả về 0; }

Thuật toán 4: dừng chương trình khi tìm thấy một bộ chia

/ ****** / TÌM HIỂU

  • Thuật toán số nguyên tố_bạn * kiểm tra, giới hạn; kiểm tra = đếm = 0; printf ("Nhập số nguyên:"); if (scanf ("% d", & nb)! = 1) trả về -1; giới hạn = sqrt (nb) + 1; if (nb% 2 == 0) test = 1; } khác {for (i = 3; i <giới hạn &&! test; i + = 2, tính ++) if (nb% i == 0) test = 1; } if (! test) printf ("% d số nguyên tố, số lần lặp =% dn", nb, đếm); other printf ("% d không phải số nguyên tố, số lần lặp =% dn", nb, đếm); trả về 0; }
Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên