已知一个整数n,打印1到n所有除以m后所得商正好是它的各个数字平方和的数。
输入格式:
为两个用空格分隔的整数,它们依次代表n、m(1<m,n<10000)。
输出格式:
按从小到大的顺序依次输出所有满足条件的整数,每个数占一行。测试用例保证有满足条件的数。
输入样例:
1000 11
输出样例:
131
241
324
550
624
803
900
910
代码如下:
#include<stdio.h>
int main()
{
int m,n, i,sh=0;
int f,c,ch;
scanf("%d %d", &m,&n);//m=1000,n=11
for (i = 1; i <= m; i++)
{
c = i / n;
ch = i;
sh = 0;
while (i > 0)
{
f = i % 10;
sh = sh + f*f;
i/= 10;
}//求各项的平方和
i = ch;
if (sh == c)
printf("%d\n", i);
}
return 0;
}