有n个自然数相加:1+2+3+4+…+n=aaa(和恰好是三个相同数字组成的三位数),那么n等于多少?

问题描述:

有n个自然数相加:1+2+3+4+…+n=aaa(和恰好是三个相同数字组成的三位数),那么n等于多少?

1+2+3+4+…+n=(1+N)N/2=AAA=A*111=A*3*37
即N(N+1)=A*6*37
因 N,N+1,很接近,所以必须 6A是一个因素,37是个因素
因为A只能是1,2,...9的数字,而又要6A接近37 A只有=6,才能成立
所以N=36

1+2+3+4+…+n=aaa=aaa
当n=36时,aaa=666。
C语言程序解法:
#include
main()
{
int i,sum,a,b,c;
sum=0;
for(i=1;i {
sum+=i;
a=sum/100;
b=(sum/10)%10;
c=sum%10;
if(a==b&&a==c)break;
}
printf("i=%d sum=%d\n",i,sum);
}

n(n+1)/2=a*111
n(n+1)=a*2*3*37,a取1~9.
n和n+1中有一个是37的倍数,如果n=37k,则37k^2+k=6a≤54,所以k=1,此时a不是整数.只有n+1=37k,则37k^2-k=6a,同样地k只能能取1,此时a=6.
所以n=36.