主题:数字游戏3
QQ331373582
[专家分:1500] 发布于 2005-09-06 20:27:00
编程求最小正整数M,N(0<N<M)为何值时, 1989m与1989n的最后三位数字相同.
回复列表 (共5个回复)
沙发
lzl1403 [专家分:1670] 发布于 2005-09-09 21:17:00
这个程序参考一下:其中m、n为longint:
m:=0;
f:=false;
repeat
inc(m);
for n:=1 to m-1 do
if 1989*m mod 1000=1989*n mod 1000
then begin f:=true;break;end;
until f;
writeln(m,' ',n);
最后输出为:1001 1
板凳
林记 [专家分:1680] 发布于 2005-09-10 15:44:00
[em54]可是001和1算不算相同呢,况且1算不算最后三位呢......
3 楼
lzl1403 [专家分:1670] 发布于 2005-09-10 22:01:00
不算的话在if后面再加一个判断:(m>999)and(n>999)
4 楼
林记 [专家分:1680] 发布于 2005-09-10 22:26:00
好,我支持你
5 楼
chenzhong [专家分:250] 发布于 2005-09-11 11:19:00
参考一下以下程序:
program shuzi;
var
m,n,a,b:integer;
begin
for m:=1 to 2000 do
for n:=1 to 2000 do
a:=1989*m mod 1000;
b:=1989*n mod 1000;
if (a-b=0)and(m>n) then writeln(m,n)
end.
编得粗糙,有问题请指出。
对于 m:=1 to 2000 do 不算也知道m<2000
我来回复