酷代码 AI
菜单
服务商

题目描述 给定一个十进制正整数n(1<=n<=10000),写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。 输入格式 正整数n。1 <= n <= 10000。 输出格式 一个正整数,即“1”的个数。 输入样例 12 输出样例 5 说明/提示 用c++语言,简单

```cpp #include <iostream> using namespace std; // 计算一个数中数字 1 出现的次数 int countOnesInNumber(int num) { int count = 0; while (num > 0) { if (num % 10 == 1) { count++; } num /= 10; } return count; } // 计算从 1 到 n 中数字 1 出现的总次数 int countOnesFromOneToN(int n) { int totalCount = 0; for (int i = 1; i <= n; i++) { totalCount += countOnesInNumber(i); } return totalCount; } int main() { int n; cin >> n; cout << countOnesFromOneToN(n) << endl; return 0; } ``` 代码解释 1. `countOnesInNumber` 函数:该函数用于计算一个整数中数字 `1` 出现的次数。它通过不断地对该数取模和整除操作,检查每一位是否为 `1`,如果是则计数器 `count` 加 `1`。 2. `countOnesFromOneToN` 函数:该函数用于计算从 `1` 到 `n` 所有整数中数字 `1` 出现的总次数。它通过遍历从 `1` 到 `n` 的所有整数,调用 `countOnesInNumber` 函数计算每个数中 `1` 的个数,并累加到 `totalCount` 中。 3. `main` 函数:该函数负责读取输入的整数 `n`,调用 `countOnesFromOneToN` 函数计算结果,并输出结果。 [2025-11-17 13:38:07 | AI问答 | 419点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多