Kiểm tra số nguyên tố và số hoàn hảo trong C
Trong toán học và lập trình, các loại số đặc biệt như số nguyên tố và số hoàn hảo thường được quan tâm. Trong bài tập này, mình sẽ viết một chương trình trong ngôn ngữ lập trình C để kiểm tra xem một số có phải là số nguyên tố hay số hoàn hảo không.
Chương trình kiểm tra số nguyên tố hay số hoàn hảo không trong C
Kiểm tra số nguyên tố
- Một số nguyên dương được gọi là số nguyên tố nếu nó chỉ có hai ước số dương: 1 và chính nó.
- Để kiểm tra xem một số có phải là số nguyên tố hay không, mình chỉ cần kiểm tra xem số đó có chia hết cho bất kỳ số nguyên nào khác 1 và chính nó không.
Kiểm tra số hoàn hảo
- Một số nguyên dương được gọi là số hoàn hảo nếu tổng các ước số của nó (không kể chính nó) bằng chính nó.
- Để kiểm tra xem một số có phải là số hoàn hảo hay không, mình cần tính tổng các ước số của số đó và so sánh với chính số đó.
Hãy xem cách giải sau
Dưới đây là một ví dụ về cách cài đặt kiểm tra số nguyên tố và số hoàn hảo trong ngôn ngữ lập trình C:
#include <stdio.h> // Hàm kiểm tra số nguyên tố int isPrime(int num) { if (num <= 1) return 0; // Không phải số nguyên tố nếu nhỏ hơn hoặc bằng 1 for (int i = 2; i * i <= num; i++) { if (num % i == 0) return 0; // Không phải số nguyên tố nếu chia hết cho số nào đó } return 1; // Là số nguyên tố } // Hàm kiểm tra số hoàn hảo int isPerfect(int num) { int sum = 1; // Tổng ước số, bắt đầu từ 1 vì 1 luôn là ước số của mọi số for (int i = 2; i * i <= num; i++) { if (num % i == 0) { sum += i; if (i * i != num) { sum += num / i; } } } if (sum == num && num != 1) return 1; // Là số hoàn hảo return 0; // Không phải số hoàn hảo } int main() { int num; // Nhập số từ người dùng printf("Nhập một số nguyên dương: "); scanf("%d", &num); // Kiểm tra và in kết quả if (isPrime(num)) { printf("%d là số nguyên tố.\n", num); } else { printf("%d không phải là số nguyên tố.\n", num); } if (isPerfect(num)) { printf("%d là số hoàn hảo.\n", num); } else { printf("%d không phải là số hoàn hảo.\n", num); } return 0; }
Kết quả
Bài viết này được đăng tại [free tuts .net]
Khi chạy chương trình và nhập một số nguyên dương từ người dùng, chương trình sẽ kiểm tra xem số đó có phải là số nguyên tố và số hoàn hảo hay không và hiển thị kết quả tương ứng.
Trong bài tập này, mình đã viết một chương trình trong ngôn ngữ lập trình C để kiểm tra xem một số có phải là số nguyên tố hay số hoàn hảo không. Điều này giúp mình hiểu rõ hơn về các loại số đặc biệt và làm quen với cách cài đặt các thuật toán kiểm tra số nguyên tố và số hoàn hảo.