C++ 程序检查一个数字是否可以表示为两个质数的和
以下是一个示例,检查一个数字是否可以表示为两个质数的和。
示例
#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;
}
}
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP