[没分] Tyvj-Begin P1039 Begin2 – Unit 1 - 3n+1问题
2011-01-24 21:02
274 查看
描述Description考虑如下序列的生成算法:从整数n开始,如果n是偶数,把他除以2;如果他是奇数,把他乘3加1。用新得到的值重复上面的步骤,知道n=1为止。例如n=22时,这个算法的生成序列是:
221134175226134020105168421
人们猜想(没有证明)对于任意的整数n,该算法总能得到终止于n=1。这个猜想至少对于1000000以内的数都正确。
对于给定的n,该序列的元素(包括1)个数称之为n的循环节长度。例如上例中循环节长度为16。输入格式InputFormat输入两个数i,j,你的任务是计算i到j(包含i和j),之间的整数中,循环节长度最大的值
并且有多组数据!
0<所有整数<=1000000输出格式OutputFormat对于每对整数i,j,输出原来的i,j和循环节最大的长度样例输入SampleInput1101002002012109001000样例输出SampleOutput11020100200125201210899001000174时间限制TimeLimitation各个测试点2sprogramb1039;
var
i,k,n:longint;
a,b,c:array[1..1000]oflongint;
proceduredigui(p:longint);
begin
ifp=1thenexit
elseif(pmod2=0)then
begin
digui(trunc(p/2));
inc(n);
end
else
begin
digui(p*3+1);
inc(n);
end;
end;
functiongo(x:longint):longint;
begin
n:=1;
digui(x);
go:=n;
end;
begin
fori:=1to1000doc[i]:=0;
k:=1;
whilenoteofdo
begin
read(a[k],b[k]);
fori:=a[k]tob[k]do
ifgo(i)>c[k]thenc[k]:=go(i);
inc(k);
end;
fori:=1tok-2do
writeln(a[i],'',b[i],'',c[i]);
write(a[k-1],'',b[k-1],'',c[k-1]);
end.
VijosNTMini2.0.5.6
FreePascalCompilerversion2.4.2[2010/11/10]fori386
Copyright(c)1993-2010byFlorianKlaempfl
TargetOS:Win32fori386
Compilingfoo.pas
Linkingfoo.exe
38linescompiled,0.0sec,29440bytescode,1544bytesdata
#01:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#02:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#03:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#04:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#05:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#06:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#07:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#08:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#09:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#10:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
RuntimeError/0/0ms/0KB
221134175226134020105168421
人们猜想(没有证明)对于任意的整数n,该算法总能得到终止于n=1。这个猜想至少对于1000000以内的数都正确。
对于给定的n,该序列的元素(包括1)个数称之为n的循环节长度。例如上例中循环节长度为16。输入格式InputFormat输入两个数i,j,你的任务是计算i到j(包含i和j),之间的整数中,循环节长度最大的值
并且有多组数据!
0<所有整数<=1000000输出格式OutputFormat对于每对整数i,j,输出原来的i,j和循环节最大的长度样例输入SampleInput1101002002012109001000样例输出SampleOutput11020100200125201210899001000174时间限制TimeLimitation各个测试点2s
程序写的没问题,朴素模拟版。。然而。。。
VijosNTMini2.0.5.6
FreePascalCompilerversion2.4.2[2010/11/10]fori386
Copyright(c)1993-2010byFlorianKlaempfl
TargetOS:Win32fori386
Compilingfoo.pas
Linkingfoo.exe
38linescompiled,0.0sec,29440bytescode,1544bytesdata
#01:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#02:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#03:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#04:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#05:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#06:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#07:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#08:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#09:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
#10:RuntimeError(0ms,632KB)
读取访问违规,地址:0x00000004
RuntimeError/0/0ms/0KB
对此,我只想说:去XXX的记忆化搜索!!哥不会,满意了吧!!!
相关文章推荐
- Tyvj P1032 Begin2 - Unit1 - 身份验证
- tyvj-Begin P1034 Begin2 - Unit1 - 银行存款
- Tyvj-Begin P1031 Begin2 - Unit1 - 扫雷
- tyvj-Begin P1033 Begin2 - Unit1 - 天使之城
- Tyvj-Begin P1036 Begin2 - Unit1 - 数独验证
- 3n+1数列问题
- 关于Win10系统下VC2013安装Unit test出现问题的解决办法
- Android问题-新电脑新系统WIN764位上安装简版本的XE8提示“Unit not found: 'System'”
- UVA-694-限制性的3n+1问题
- 3038 3n+1问题
- 3n+1问题(南阳oj)
- 3n+1问题
- TYVJ1463 智商问题【数据结构】【分块】
- 杭电 1032 The 3n+1问题
- Pycharm上python unittest不执行"if __name__ == '__main__' "问题or选择非unittest run
- 【水水水】tyvj Q1016 - Unit4 - 兔子繁殖
- 3n+1问题
- Win10中VC2013安装Unit test组件出现问题解决方案
- 终于解决 xUnit.net 测试中无法输出到控制台的问题
- Unit3d开发 (二十一) 更改Apk的smali 排查Java层问题