solution.md 1.2 KB
Newer Older
每日一练社区's avatar
每日一练社区 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
# 特别数的和

**题目描述**

小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。

请问,在 1 到 n 中,所有这样的数的和是多少?

**输入格式**

共一行,包含一个整数 n。

**输出格式**

共一行,包含一个整数,表示满足条件的数的和。

**数据范围**

```
1≤n≤10000
```

**输入样例:**

```
40
```

**输出样例:**

```
574
```

以下代码实现了这一功能,请你填补空白处的内容:

```cpp
#include <iostream>

using namespace std;

int ans, n;

bool check(int n)
{
    while (n)
    {
        int tmpn = n % 10;
        if (tmpn == 2 || tmpn == 0 || tmpn == 1 || tmpn == 9)
            return true;
        __________________
    }
    return false;
}

int main()
{
    cin >> n;

    for (int i = 1; i <= n; i++)
    {
        if (check(i))
            ans += i;
    }

    cout << ans << endl;

    return 0;
}
```


## aop

### before

```cpp

```

### after

```cpp

```

## 答案

```cpp
        n /= 10;
```

## 选项

### A

```cpp
        n %= 10;
```

### B

```cpp
        break;
```

### C

```cpp
        continue;
```