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