以下是检查数字是否可以表示为两个质数之和的示例。
#include <iostream> using namespace std; int func(int num) { int i; int flag = 1; for(i = 2; i <= num/2; ++i) { if(num % i == 0) { flag = 0; break; } } return flag; } int main() { int num , i; cout << "Enter a number : \n"; cin >> num; for(i = 2; i <= num/2; ++i) { if (func(i)) { if (func(num - i)) { cout << num << " = " << i << " + " << num-i << endl; } } } return 0; }
输出结果
Enter a number : 18 18 = 5 + 13 18 = 7 + 11
在上述程序中,该功能func()
正在检查数字是否为质数。
int func(int num) { int i; int flag = 1; for(i = 2; i <= num/2; ++i) { if(num % i == 0) { flag = 0; break; } } return flag; }
在该main()
方法中,用户输入数字。它正在计算作为两个质数之和的数字。
cout << "Enter a number : \n"; cin >> num; for(i = 2; i <= num/2; ++i) { if (func(i)) { if (func(num - i)) { cout << num << " = " << i << " + " << num-i << endl; } } }