已知一个整数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 i,m,n,s=0,d,t,k;
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++){
d=i/m;
s=0;
t=i;
while(t!=0){
k=t%10;
s+=k*k;
t/=10;
}
if(d==s){
printf("%d\n",i);
}
}
return 0;
}
觉得有用的话采纳一下哈
#include<stdio.h>
int main()
{
int n,m,i;
scanf("%d %d",&n,&m);
int d,k,p,j;
int sum=0;
for(i=1;i<n;i++)
{
d=i/m;
j=i;
while(i!=0)
{
k=i%10;
p=k*k;
sum+=p;
i/=10;
}
if(d==sum)
printf("%d\n",j);
}
return 0;
}