回 帖 发 新 帖 刷新版面

主题:问题又来了

1.有一种病毒叫黑色星期5,如果当天是星期5,又恰好是13号,就会发作.试编程找出90年代这种病毒发作的日期.
2.有81个零件,其中有一个是次品,重量轻,限用4次称量,找出这个次品.要求打印出每次称量过程.
3.由M个数构成一个圆环,找出四个相邻的数,使其和为最大,最小.

最近我在进行题海战术,帖子多,大家一定要尽力帮忙啊[em8]

回复列表 (共18个回复)

沙发

uses dos;
  var
    nn,ny,nr,nx:word;
    nian,yue,n{nian},y{yue},r{ri},x{xingqi}:word;
begin
  getdate(nn,ny,nr,nx);
  for nian:=1990 to 1999 do
    for yue:=1 to 12 do begin
      setdate(nian,yue,13);
      getdate(n,y,r,x);
      if x=5 then writeln(n:4,',',y:2,',',r:2);
    end;
  setdate(nn,ny,nr);
  readln;
end.

板凳

2、把零件分成等量的三堆,取任意两堆称,轻的那堆就是次品所在的那堆,如果两堆重量相等则次品在第三堆;然后把次品所在堆再分成三等分,……重复以上步骤,共称4次就能知道次品是哪个零件了。
3、先计出数组中前4个数的和,赋为最大值和最小值,然后循环,删去四个数中最前面那个,再加上下一个数,得另一组4个数的和,更新最大最小值。由于是个环,注意处理数组头、尾组成的4个数为一组的情况。

3 楼

uses dos???我记得程序名应该是program .....啊[em18]

4 楼

"uses dos" 这是启用了个单元
你在头上加上PROGRAM 就行了
如program ti;
  uses dos;
  var
    nn,ny,nr,nx:word;
    nian,yue,n{nian},y{yue},r{ri},x{xingqi}:word;
begin
  getdate(nn,ny,nr,nx);
  for nian:=1990 to 1999 do
    for yue:=1 to 12 do begin
      setdate(nian,yue,13);
      getdate(n,y,r,x);
      if x=5 then writeln(n:4,',',y:2,',',r:2);
    end;
  setdate(nn,ny,nr);
  readln;
end.

5 楼

哇…… 1楼的程序……
狂改系统时间……
佩服、佩服!

6 楼

郁闷````病毒~~!

7 楼

其实做这种题,如果你数学好的话,直接算然后一个write搞定了(别扔臭鸡蛋啊!)

8 楼

干脆把2题做成个FLASH,大家支持就顶我下!

9 楼

2.3题怎么没人回啊???再接再厉,回答2.3两题

10 楼

第三题什么意思???

我来回复

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