思路
1、遍历每个数位;
2、根据题目中的条件写出判断;
3、输出数字。
知识点:
1、几层嵌套if,要准确细心完成,不能输错符号;
2、练习嵌套循环的用法。
代码实现
# include <iostream>
# include <cmath>
using namespace std;
//定义一个判断质数的函数
int isPrime(int x) {
int i;
if (i == 2) {
bool prime = true;
}
bool prime = true;
for(i = 2; i <= sqrt(x); i++) {
if(x % i == 0) {
prime = false;
break;
}
}
return prime;
}
int main() {
int g, s, b;
//遍历百位上的数字1-9
for(b = 1; b <= 9; b++) {
//遍历十位上的数字0-9
for(s = 0; s <= 9; s++) {
//遍历个位上的数字
for(g = 0; g <= 9; g++) {
//各数位不同
if(b != s && s != g && g != b) {
//十位上的数字大于百位和个位上的数字之和
if(g + b < s) {
//十位和百位之和不是质数
if(isPrime(s + b) == false) {
//符合以上条件输出数字
cout << b * 100 + s * 10 + g << endl;
}
}
}
}
}
}
return 0;
}