Dalam contoh ini, anda akan belajar untuk memeriksa apakah bilangan bulat yang dimasukkan oleh pengguna dapat dinyatakan sebagai jumlah dua nombor perdana dari semua kemungkinan kombinasi.
Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan C berikut:
- C jika… lain Penyataan
- C untuk Gelung
- Fungsi C
- C Fungsi yang ditentukan pengguna
Untuk menyelesaikan tugas ini, kami akan membuat fungsi bernama checkPrime()
.
Yang checkPrime()
mengembalikan 1 jika bilangan dihantar ke fungsi adalah nombor perdana.
Bilangan bulat sebagai Bilangan Dua Nombor Perdana
#include int checkPrime(int n); int main() ( int n, i, flag = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 2; i <= n / 2; ++i) ( // condition for i to be a prime number if (checkPrime(i) == 1) ( // condition for n-i to be a prime number if (checkPrime(n - i) == 1) ( printf("%d = %d + %d", n, i, n - i); flag = 1; ) ) ) if (flag == 0) printf("%d cannot be expressed as the sum of two prime numbers.", n); return 0; ) // function to check prime number int checkPrime(int n) ( int i, isPrime = 1; for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = 0; break; ) ) return isPrime; )
Pengeluaran
Masukkan bilangan bulat positif: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17