Free Pascal 之 数学黑洞6174
求证:所有四位数的数字(全相同的除外),均能得到6174。输出掉进黑洞的步数悬赏分:囧寂寞囧已知:一个任意的四位正整数。将数字重新组合成一个最大的数和最小的数相减,重复这...
求证:所有四位数的数字(全相同的除外),均能得到6174。输出掉进黑洞的步数 悬赏分:囧寂寞囧 已知:一个任意的四位正整数。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。即:7641-1467=6174。将永远出不来。求证:所有四位数的数字(全相同的除外),均能得到6174。输出掉进黑洞的步数。要求:(1) 当相减后第一次出现6174,就可认为掉进黑洞(2) 此题无需输入文件(3) 输出文件中,应列出所有四位数(相同的除外)对应的黑洞步数。用Free Pascal!拒绝 不能通过的pas!(ps:网上的大多都不能通过~囧,寂寞)
展开
2个回答
2014-03-04
展开全部
program sxhd;
var a,i,j,l,k:integer;
begin
readln(a);
while a<>6174 do
begin
i:=a div 1000;
j:=(a div 100)mod 10;
l:=(a mod 100)div 10;
k:=a mod 10;
a1:=i+10*j+100*l+1000*k;
if a1>a then writeln(a1,'-',a,'=',a1-a)
else writeln(a,'-',a1,'=',a-a1);
a:=abs(a-a1);
end;
readln;
end.
var a,i,j,l,k:integer;
begin
readln(a);
while a<>6174 do
begin
i:=a div 1000;
j:=(a div 100)mod 10;
l:=(a mod 100)div 10;
k:=a mod 10;
a1:=i+10*j+100*l+1000*k;
if a1>a then writeln(a1,'-',a,'=',a1-a)
else writeln(a,'-',a1,'=',a-a1);
a:=abs(a-a1);
end;
readln;
end.
2014-03-04
展开全部
4321-1234=30888830-0388=84428442-2448=59949954-4599=53555553-3555=19989981-1899=80828820-0288=85328532-2358=6174大哥,好象八步了也
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询