用Pascal编一个程序

来源:百度知道 编辑:UC知道 时间:2024/03/28 20:17:34
一个两位数x将它的个位数字与十位数字对调后得到一个新数y,y恰好比x大
36,请编程序求这样的两位数(用for语句)。

用2元方程笔算吧。。。要程序也行。。。
program xxx;
var a,b:integer;
begin
for a:=1 to 9 do
for b:=1 to 9 do
if (b*10+a)-(a*10+b)=36 then
writeln(a,b);
end;
随手写的。还可以优化,不过不优化也没关系。。。最多算81次。。。

上面的不行,应是
program xxx;
var a,b:integer;
begin
for a:=0 to 9 do
for b:=0 to 9 do {要从0开始,不然40就搜不到了}
if (b*10+a)-(a*10+b)=36 then
writeln(a,b);
end;

program dd(input,output);
var a,b,i:Integer;
begin
for i:=10 to 63 do
begin
a:=i div 10;
b:=i mod 10;
if (i+36=a+b*10) then write(i:4);
end;
end.
因为64以上的数加36大于等于100,所以只用循环到63!

var
a,b,c,i:integer;
begin
for i:=10 to 63 do
begin
a:=i mod 10;
b:=i div 10;
c:=a*10+b;
if c-i>36 then break;00
end;
write(i);
end.