#1166. 贝贝的幸运号码

贝贝的幸运号码

题目背景

海曙区“呦呦海贝”月赛准备制作一批纪念卡。贝贝发现,有些号码满足一个有趣的等式,便把它们叫作“幸运号码”。

题目描述

对于一个正整数 nn,定义 f(n)f(n) 为它在十进制表示下,各个数位上的数字的平方之和。

例如,f(203)=22+02+32=13f(203)=2^2+0^2+3^2=13。

给定三个正整数 k,a,bk,a,b,如果一个正整数 nn 同时满足以下两个条件,就称它为幸运号码:

  • a≤n≤ba\leq n\leq b;
  • k×f(n)=nk\times f(n)=n。

请你求出区间 [a,b][a,b] 内一共有多少个幸运号码。

输入格式

输入一行,包含三个整数 k,a,bk,a,b。

输出格式

输出一个整数,表示满足条件的正整数个数。

样例 1

51 5000 10000
3

样例 1 解释

三个幸运号码分别为 7293,7854,79057293,7854,7905。例如,f(7293)=72+22+92+32=143f(7293)=7^2+2^2+9^2+3^2=143,而 51×143=729351 \times143=7293。

样例 2

1 1 10
1

样例 2 解释

只有 n=1n=1 满足条件,因此答案为 11。

样例 3

1000000000000000000 1000000000000000000 1000000000000000000
1

样例 3 解释

区间内只有 101810^{18} 这一个整数,其数位平方和为 11,满足 1018×1=101810^{18} \times 1=10^{18}。

样例 4

51 7293 7854
2

样例 4 解释

区间的两个端点 72937293 和 78547854 都满足条件,答案为 22。

样例 5

51 7294 7853
0

样例 5 解释

这个区间中没有满足条件的号码,答案为 00。

数据范围

对于所有测试数据,保证 1≤k,a,b≤10181\leq k,a,b\leq10^{18},且 a≤ba\leq b。

本题共有 2020 个测试点,每个测试点 55 分,按测试点独立计分。

测试点编号 分值合计 附加限制
1∼81\sim8 4040 k,a,b≤106k,a,b\leq10^6
9∼129\sim12 2020 k≤1000k\leq1000
13∼1613\sim16 1≤b−a≤5×1071\leq b-a\leq5\times10^7
17∼2017\sim20 无附加限制