回 帖 发 新 帖 刷新版面

主题:数字游戏3

编程求最小正整数M,N(0<N<M)为何值时, 1989m与1989n的最后三位数字相同.

回复列表 (共5个回复)

沙发

这个程序参考一下:其中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

板凳

[em54]可是001和1算不算相同呢,况且1算不算最后三位呢......

3 楼

不算的话在if后面再加一个判断:(m>999)and(n>999)

4 楼

好,我支持你

5 楼

参考一下以下程序:
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

我来回复

您尚未登录,请登录后再回复。点此登录或注册