题目名称 4292. 折枝的函数
输入输出 function.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatar终焉折枝 于2026-01-30加入
开放分组 全部用户
提交状态
分类标签
查看题解 分享题解
通过:1, 提交:1, 通过率:100%
Gravatar终焉折枝 100 0.161 s 3.73 MiB C++
关于 折枝的函数 的近10条评论(全部评论)

4292. 折枝的函数

★★   输入文件:function.in   输出文件:function.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目背景】

折枝最近在研究数字的整除特性,他发现有些数字具有一种神奇的性质:它们能够被自己各位数字的和整除。他将这类数字称为“彪数”。

【题目描述】

折枝给你一个函数 $f(x)$,定义如下:
1. 若 $x = 0$,$f(x) = 0$;
2. 若 $x > 0$,$f(x) = f(x / 10) + x \% 10$。
实际上,$f(x)$ 表示十进制整数 $x$ 的各位数字之和。

他需要你去计算区间 $[l, r]$ 中有多少整数满足 $x \bmod f(x) = 0$。

【输入格式】

一行两个整数 $l, r$。($1 \le l \le r \le 10^9$)

【输出格式】

输出一行一个整数表示答案。

【样例输入】

1 100

【样例输出】

33

【样例说明】

在 1 到 100 之间,满足条件的数字共有 33 个,例如 1, 2, 10, 12 等。 其中 12 的各位数字之和 $f(12) = 1 + 2 = 3$,且 $12 \bmod 3 = 0$,故 12 是 “彪数”。

【数据规模与约定】

$1 \le l \le r \le 10^9$。

【来源】

To_Carpe_Diem