#CSPJSH15Q27. 珅泽教育CSP-J第一轮模拟考第十五套 第 27 题

珅泽教育CSP-J第一轮模拟考第十五套 第 27 题

二、阅读程序(判断题每题1分,选择题每题3分,共计40分;判断题正确填 T,错误填 F)

第2题

using i64 = long long;
i64 solve(i64 n)
{
    i64 c = 0;
    i64 p = 1;
    i64 t = 0;
    while (n > 0)
    {
        int d = n % 10;
        n /= 10;
        if (d > 0)
        {
            c += n * p;
        }
        else
        {
            c += (n - 1) * p;
            c += t + 1;
        }
        t += d * p;
        p *= 10;
    }
    return c;
}

solve(n) 函数的功能是( )。

{{ select(1) }}

  • 统计 nn 的十进制表示中数字 0 的数量
  • 统计 1 到 nn 的所有正整数中“出现过 0 的整数数量”
  • 统计 1 到 nn 的所有正整数的十进制表示中数字 0 出现的总次数
  • 统计 1 到 nn 的所有正整数的十进制表示中数字 0 出现的总次数,并将位数短于 nn 的数在左侧补 0 后计入这些 0