永发信息网

已知一个正整数恰好等于它的各位数字和的2010倍,那么这样的正整数中最小的数是

答案:2  悬赏:40  手机版
解决时间 2021-04-09 00:46
  • 提问者网友:两耳就是菩提
  • 2021-04-08 19:16
已知一个正整数恰好等于它的各位数字和的2010倍,那么这样的正整数中最小的数是
最佳答案
  • 五星知识达人网友:慢性怪人
  • 2021-04-08 20:05
设该数有n+1位,则a[n]*10^n+a[n-1]*10^(n-1)+...+a[0]=2010*(a[0]+..+a[n])
即(10^n-2010)a[n]+(10^(n-1)-2010)a[n-1]+..+(-2009)a[0]=0
由于后面的项都是负数, 所以第一项必须是正数, 故n≥4.
同时正数部分最小值不应该大于负数的绝对值的最大值.
也就是10^n-2010<=|9*(1-2010)+9*(10-2010)+9*(100-2010)+9*(1000-2010)|
10^n≤64371
故n≤4
从而n=4, 故此数若存在, 则必然是一个5位数.

这个可以编程求解:
#include "stdio.h"
long getDigitSum(long x)
{
long sum=0;
while(x!=0)
{
sum+=x%10;
x/=10;
}
return sum;
}
void main()
{
long x=10000,max=99999;
long i,sum;
for(i=x;i<=max;i++)
{
sum=getDigitSum(i);
if(sum*2010==i)
printf("%d\n",i);
}
}
运行结果:
36180
由此可见, 满足条件的数是唯一的.其值为36180
全部回答
  • 1楼网友:第四晚心情
  • 2021-04-08 21:17
36180
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯