回 帖 发 新 帖 刷新版面

主题:帮帮我吧!!!!

题目如下:
1、 数学黑洞6174
已知:一个任意的四位正整数。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。即:7641-1467=6174。将永远出不来。
求证:所有四位数数字(全相同的除外),均能得到6174。输出掉进黑洞的步数。
(答对30分)

2、 [color=FF0000]随机[/color]产生20个三位数,将这20个数按从小到大的顺序排列,要求在排列中,用尽可能少的交换次数。

5、编写一个译码程序,把一个英语句子译成数字代码。译码规则是以数字1代替字母A,数字2代替字母B,……,26代替字母Z,如遇空格则打印一个星号‘*’,英文句子以‘.‘结束。

回复列表 (共4个回复)

沙发

希望你不要程序,知道方法,自己编是最好的 


第一题,我给你方法
组成最大:从当前数的第一位开始找,找最长不上升子序列,把序列的结尾删除!
比如:12345,删1 54321,删1 54412,删4(随便哪个)
最小:找最长不上下降序列
第二题我不会
第三题过于简单
可以用ord来做

加分哦

板凳

???
懂了没〉

3 楼

5:
var 
  s:string;
  i:byte;
begin
  readln(s);
  for i:=1 to length(s) do
    case UpCase(s[i]) of
      ' ':write('*');
      'A'..'Z':write(1+ord(s[i])-ord('A'));
      else:write(s[i]);
    end;
end.

4 楼

2-1:随机数(System Unit):
 proc. randomize;{初始化随机数}
 func. random(n:word);产生0..n-1的整数

我来回复

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