今天組隊比賽時遇到了漢諾塔的題,開始時以為很難,但是仔細看題時,想到了曾今在杭電上做個一題,卻發現是水題一道,直接一個打表!
TJU
1731. Strange Towers of Hanoi
#include<stdio.h>
int main()


{

int a[13]=
{0,1,3,5,9,13,17,25,33,41,49,65,81};
for(int i=1;i<=12;i++)
printf("%d\",a[i]);
}
真正的題目還是杭電上的
http://acm.hdu.edu.cn/showproblem.php?pid=1207
#include<stdio.h>
#include<math.h>
int main()


{
long a[65];
a[1]=1;
long i,j,n,m,r;
for(i=2,j=1,r=1,m=2;i<66;i++,j++)
if(j<=m)
a[i]=a[i-1]+pow(2,r);

else
{
m++;
j=1;
r++;
a[i]=a[i-1]+pow(2,r);
}

while(scanf("%d",&n)==1)
{
printf("%d\n",a[n]);
}
}
規律:
a[1]=1;
a[2]=a[1]+2;a[3]=a[2]+2;(2個加2^1)
a[4]=a[3]+4;a[5]=a[4]+4;a[6]=a[5]+4;(3個加2^2);
…………………………………………(4個加2^3);
O(∩_∩)O~
posted on 2009-05-18 18:32
zhoubaozhong 閱讀(929)
評論(0) 編輯 收藏 引用