求和~~~~~~~~~~~~~~~~~

试题 A: 求和
本题总分:5 分
【问题描述】
小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包
括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。
请问,在 1 到 2019 中,所有这样的数的和是多少?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
 

1905111

#include 

using namespace std;

long fun(int n) {
    int res = 0;
    for (int i = 1; i <= n; i++) {
        bool flag = false;
        int t = i;
        while (t) {
            int m = t % 10;
            if (m == 2 || m == 0 || m == 1 || m == 9) {
                flag = true;
                break;
            }
            t /= 10;
        }
        res = flag ? res + i : res;
    }
    return res;
}

int main() {
    long res = fun(2019);
    cout << res << endl;
}

你可能感兴趣的:(C/C++,c++,算法,开发语言)