1089 - 找数字

思路

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;
}
文章目录