103 条题解
-
0blacksnow LV 10 @ 2009-03-14 21:16:07
SO EASY!
直接贴程序很缺德的....... -
02009-02-26 18:03:11@
var
n,ans,temp,k,i,j:longint;
begin
readln(n);
ans:=0;
temp:=1;
i:=0;
j:=-1;
for k:=1 to n do
begin
ans:=(ans+temp)mod 10000;
inc(j);
if j=i
then begin
i:=i+1;
j:=-1;
temp:=(temp shl 1) mod 10000;
end;
end;
writeln(ans);
end. -
02008-12-11 13:11:22@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msprogram p1073;
var
n,i:longint;
sum,p1,p2,p3:int64;
begin
readln(n);
sum:=0;
p1:=1;p2:=1;p3:=1;
for i:=1 to n do
begin
sum:=(sum+p1) mod 10000;
dec(p2);
if p2=0
then begin
p1:=p1*2 mod 10000;
inc(p3);
p2:=p3;
end;
end;
writeln(sum);
end. -
02008-12-01 13:32:35@
program p1073;
var
n,i:longint;
sum,p1,p2,p3:int64;
begin
readln(n);
sum:=0;
p1:=1;p2:=1;p3:=1;
for i:=1 to n do
begin
sum:=(sum+p1) mod 10000;
dec(p2);
if p2=0
then begin
p1:=p1*2 mod 10000;
inc(p3);
p2:=p3;
end;
end;
writeln(sum);
end. -
02008-11-24 12:55:59@
这个4塔问题移动的步数每两项之差如下:
1,2,2,4,4,4,8,8,8,8,16,16,16,16,16...
即差为2的i次方的数有i+1个 -
02008-11-20 16:25:18@
为什么过不了啊?
var
a:array[1..50000]of longint;
b:array[1..25001]of longint;
n:longint;
i,j:longint;
max:longint;
x:longint;function jinyi(x:longint):longint;
begin
if x mod 2=0 then jinyi:=x div 2
else jinyi:=x div 2+1;
end;begin
read(n);
a[1]:=1;
a[2]:=3;
if n>2 then begin
for i:= 3 to n do begin
for j:=1 to jinyi(i) do b[j]:=a*2+a[j];
max:=b[1];
for j:=1 to jinyi(i) do begin if b[j] -
02008-11-08 15:42:32@
不断地乘2也要去mod 10000,不然第三个点有问题
-
02008-11-08 15:30:06@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar s,j,p,x,y,i:longint;
begin
read(s);if s=0 then halt;
x:=1;y:=1;p:=0;j:=0;
for i:=1 to s do
begin
j:=j mod 10000+y;inc(p);
if p=x then
begin
y:=(2*y)mod 10000;
inc(x);p:=0;
end
end;
writeln(j mod 10000);
end.
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|-
找出规律就简单了 -
02008-11-07 13:37:40@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msprogram v1073;
var
a:array[1..50000] of longint;
n,i,j,t,s:longint;begin
readln(n);
a[1]:=1;
i:=2;t:=0;s:=1;
while i -
02008-11-03 19:07:38@
readln(n);
f[1]:=1;
i:=2;t:=0;s:=1;
while i -
02008-11-01 08:01:41@
既然有规律就用规律嘛......转化为数学问题,就是一个简单的累加累乘了。
-
02008-10-23 09:02:36@
i为柱子个数,j为要移动的圆盘个数
状态转移方程:
f[i][j]=min{f[i][k]+f[j-k]}f[2][i]=2*f[2]+1;
f[2][1]=1;然后找规律。
4塔为以下数列的前n项和:
1,2,2,4,4,4,8,8,8,8,16,16,16,16,16...
5塔为以下数列的前n项和:
1,2,2,2,4,4,4,4,4,8,8,8,8,8,8,8...
依次类推 -
02008-10-19 20:26:54@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-10-15 17:16:21@
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
var i,j,k,l,m,n,ans,js:longint;
a:array[1..60000] of longint;p:boolean;
begin
read(n);ans:=0;k:=0;js:=0;p:=true;
for i:=0 to 50000 do
begin
k:=1;
for j:=1 to i do k:=(k shl 1) mod 100000;
for j:=1 to i+1 do
begin
inc(js);
if js>60000 then begin
p:=false;break;
end;
a[js]:=k;//writeln(js,' ',a[js]);
end;
if not p then break;
end;
for i:=1 to n do ans:=(ans+a[i]) mod 10000;
writeln(ans);
end. -
02008-10-11 22:42:22@
这个问题可以推广到m塔的情况。用a[i]表示m柱i盘时所需的移动次数,则a数列有这样一个规律:a[1]=1,以后依次有
C (m-3) (m-3+k) 项比前一项大2k,其中k从1开始取整数值。
-
02008-10-11 11:02:05@
刚开始有2个变量没有mod10000 交了N次
找规律就行了。
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-10-08 19:51:16@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
还是靠找规律。 -
02008-10-07 21:03:51@
shl 1=*2
shr 1=div 2
前者快 -
02008-10-03 21:01:20@
请问:shl 和 div 2 有什么区别??为什么用div 2 就错,用shl就对呢??
-
02008-10-03 20:22:12@
热烈庆祝两颗星~~