霍比特人经典台词:一个大于200而小于300的数,被3除余1,被5除余2,被7除余3,这个数是多少?请说明分析方法。

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/06 07:57:33

因为能被3整除的数的特征:各个数位上数字之和能被整除的整数。能被5整除的数的特征:个位上是0、5的整数。
能被7整除的数的特征:一个整数的末三位数与末三位以前的数字所组成的数之差(以大减小)能被7整除。
设该数为abc则a+b大于(2+0=)2,
a+b+c=3n+1(小于2+9+9=20)=7,10,13,16,19,因为该数被5除余2,所以c=2或7;因为abc大于200小于300,所以a=2.
所以该数为2b2或2b7,a+b小于等于2+9=11.
又有当c=2时,,a+b=5,8,11;
当c=7时,a+b=3,6,9.
所以该数可能为232,262,292:或217,247,277.因为该数被7除余3,所以该数为262.

262

在计算机中随便用一种语言编写一段程序就行了。守着计算机为什么不用?在这里苦思幂想费脑子。给你写一段特简单的吧,用VFP:
for i=201 to 299
if i%3=1 and i%5=2 and i%7=3
?"这个数是:",i
endif
endfor

楼上说的有道理,遇到类似的问题我也是用VB来计算的,快啊!

#include<iostream.h>
void main()
{int x,y;
for(x=201;x<300;x++)
{if(x%3==1&x%5==2&x%7==3)
y=x;
}
cout<<"y="<<y<<endl;
}

被5除余2,个位不是2就是7,百位是2,又被3除余1,只可能十位是2,5,8,0,3,6,9,又被7除余,算下就得