posts - 12,  comments - 10,  trackbacks - 0

今天组队比赛时遇到了汉诺塔的题,开始时以为很难,但是仔细看题时,想到了曾今在杭电上做个一题,却发现是水题一道,直接一个打表!
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 阅读(901) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(3)

随笔档案

杭电!!

搜索

  •  

最新评论

阅读排行榜

评论排行榜