在此示例中,您将学习检查用户输入的整数是否可以表示为所有可能组合的两个素数之和。
- C if…else Statement
- C for Loop
- C Functions
- C User-defined functions
#include <stdio.h>
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", 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;
// 0 and 1 are not prime numbers
if (n == 0 || n == 1) {
isPrime = 0;
}
else {
for(i = 2; i <= n/2; ++i) {
if(n % i == 0) {
isPrime = 0;
break;
}
}
}
return isPrime;
}
结果:
Enter a positive integer: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!
好例子