[没分] Tyvj-Begin P1039 Begin2 – Unit 1 - 3n+1问题
描述 Description
  考虑如下序列的生成算法:从整数n开始,如果n是偶数,把他除以2;如果他是奇数,把他乘3加1。用新得到的值重复上面的步骤,知道n=1为止。例如n=22时,这个算法的生成序列是:
  22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 
  人们猜想(没有证明)对于任意的整数n,该算法总能得到终止于n=1。这个猜想至少对于1000000以内的数都正确。
  对于给定的n,该序列的元素(包括1)个数称之为n的循环节长度。例如上例中循环节长度为16。 
输入格式 Input Format
输入两个数i,j,你的任务是计算i到j(包含i和j),之间的整数中,循环节长度最大的值
并且有多组数据!
0<所有整数<=1000000  
输出格式 Output Format
对于每对整数i,j,输出原来的i,j和循环节最大的长度
样例输入 Sample Input
1 10
100 200
201 210
900 1000
样例输出 Sample Output
1 10 20
100 200 125
201 210 89
900 1000 174
时间限制 Time Limitation
各个测试点2s
program b1039;
 var
  i,k,n:longint;
  a,b,c:array[1..1000]of longint;
 procedure digui(p:longint);
  begin
   if p=1 then exit
    else if (p mod 2 = 0) then
     begin
      digui(trunc(p / 2));
      inc(n);
     end
    else
     begin
      digui(p*3+1);
      inc(n);
     end;
  end;
 function go(x:longint):longint;
  begin
   n := 1;
   digui(x);
   go := n;
  end;
 begin
  for i := 1 to 1000 do c[i]:=0;
  k:=1;
  while not eof do
   begin
    read (a[k],b[k]);
    for i := a[k] to b[k] do
     if go(i) > c[k] then c[k] := go(i);
    inc(k);
  end;
  for i := 1 to k-2 do
    writeln (a[i],' ',b[i],' ',c[i]);
  write (a[k-1],' ',b[k-1],' ',c[k-1]);
 end.
程序写的没问题,朴素模拟版。。然而。。。
VijosNT Mini 2.0.5.6
Free Pascal Compiler version 2.4.2 [2010/11/10] for i386
Copyright (c) 1993-2010 by Florian Klaempfl
Target OS: Win32 for i386
Compiling foo.pas
Linking foo.exe
38 lines compiled, 0.0 sec , 29440 bytes code, 1544 bytes data
#01: Runtime Error (0ms, 632KB)
读取访问违规, 地址: 0x00000004
#02: Runtime Error (0ms, 632KB)
读取访问违规, 地址: 0x00000004
#03: Runtime Error (0ms, 632KB)
读取访问违规, 地址: 0x00000004
#04: Runtime Error (0ms, 632KB)
读取访问违规, 地址: 0x00000004
#05: Runtime Error (0ms, 632KB)
读取访问违规, 地址: 0x00000004
#06: Runtime Error (0ms, 632KB)
读取访问违规, 地址: 0x00000004
#07: Runtime Error (0ms, 632KB)
读取访问违规, 地址: 0x00000004
#08: Runtime Error (0ms, 632KB)
读取访问违规, 地址: 0x00000004
#09: Runtime Error (0ms, 632KB)
读取访问违规, 地址: 0x00000004
#10: Runtime Error (0ms, 632KB)
读取访问违规, 地址: 0x00000004
Runtime Error / 0 / 0ms / 0KB
                    
                
                
            
        
浙公网安备 33010602011771号