题目大概是这样的:
输入一个整数,如果是偶数,那么用这个数除2,如果是基数就成以3再加1,得出来的结果
按照上面的规则继续计算,最后的结果始终是1
我用Delphi写的代码如下.
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Memo1.Lines.Add(Edit1.text);
Memo1.Lines.Add('---------');
repeat
if (StrToInt(Edit1.text) mod 2=0)then //基数 OR 偶数
begin
Edit1.Text:=IntToStr(StrToInt(Edit1.Text) div 2); //偶数除以2
Memo1.Lines.Add(Edit1.text);
end else
begin
Edit1.Text:=IntToStr(StrToInt(Edit1.Text) * 3 + 1); //基数成3加1
Memo1.Lines.Add(Edit1.text);
end;
until StrToInt(Edit1.Text) = 1;
end;
最后的结果是:如果输入的数是一个大于0的整数..那么它的结果都会是1.
posted on 2006-06-10 16:46
才子£鸣 阅读(222)
评论(2) 编辑 收藏 引用