1 条题解

  • 0
    @ 2025-8-24 21:16:08

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar RyanLi
    跟着光,靠近光,成为光,散发光。

    搬运于2025-08-24 21:16:07,当前版本为作者最后更新于2024-03-10 20:42:42,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    Source & Knowledge

    2024 年 3 月语言月赛,由洛谷网校入门计划/基础计划提供。

    题目大意

    给定 n,kn,k,求小于 10n10^n 的正整数中各数位之和小于等于 kk 的数个数。

    题目分析

    注意到,n7n \le 7k100k \le 100,也就是说最多只可能有 107110^7 - 1 个数,可以直接使用枚举算法。

    我们设小于等于 kk 的数有 ansans 个。对枚举到的每个数都计算它的数位和,如果小于等于 kk 就给答案 ansans 加一。最后输出 ansans 即可。

    int lim = 1;
    for (int i = 1; i <= n; ++i) lim *= 10;
    for (int i = 1; i < lim; ++i) {
        int sum = 0, tmp = i;
        while (tmp) sum += tmp % 10, tmp /= 10;
        if (sum <= k) ++ans;
    }
    

    视频讲解

    完整代码见视频题解

    • 1

    信息

    ID
    9860
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者