作业帮 > 综合 > 作业

pascal 数字黑洞6174 尽量一次做对好吗?经受不起系统一直显示错误的折磨.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/23 17:41:10
pascal 数字黑洞6174 尽量一次做对好吗?经受不起系统一直显示错误的折磨.
已知一个任意的不完全重复的四位正整数,将其数字重新组合成一个最大的数和一个最小的数并使之相减,这称为“重排求差”.其结果不足四位时,右边补0,组成大的四位数;左边补0,组成小的四位数.重复这个过程,最多七步,必能得到6174.求某一四位数(每位数字完全相同的除外)经上述“重排求差”步骤均能得到6174的步数.当输入的四位正整数是四位完全重复时,输出“error”字样
例如:输入任一四位数:1234
输出变换的步数:3
Input
输入所要变换的四位数
第一行输入所要变换的四位数的值
Output
输出变换的步数
Sample Input
1234
Sample Output
3
program heidong;
var a:array[1..4]of integer;
hd,shiyan,i,j,temp,big,small,w,result:integer;
begin
readln(hd);
for i:=1 to 4 do
begin
a[i]:=shiyan mod 10;
shiyan:=shiyan div 10;
end;
write(hd,' needs:');
w:=0;
repeat
for i:=1 to 3 do
for j:=i+1 to 4 do
if a[i]
再问: k86vwi.pas(34,4) Fatal: Syntax error, . expected but ; found 麻烦再帮我改一下。。。谢谢
再答: 不好意思 把第34行删掉应该可以了!~~~
再问: 表示结果是wrong answer。。。
再答: 等一下,我看一下呵~~OK了,我的问题。。。 var a:array[1..4]of integer; hd,shiyan,i,j,temp,big,small,w,result:integer; begin readln(hd); shiyan:=hd; for i:=1 to 4 do begin a[i]:=shiyan mod 10; shiyan:=shiyan div 10; end; write(hd,' needs: '); w:=0; repeat for i:=1 to 3 do for j:=i+1 to 4 do if a[i]