计蒜客--递归 汉诺塔问题

AC代码:

#include<stdio.h>
long long int a[61]={0};
void pr(){
    a[0]=1;
    for(int i=1;i<61;i++){
        a[i]=a[i-1]*2;
       //rintf("%d\n",a[i]);
    }
}
long long int hanoit(int n){
    if(n==1){
        return 1;
    }
    return hanoit(n-1)+ a[n]-1;
} 
int main(){
    int n;
    scanf("%d",&n);
   pr();
    long long int b=a[n]-1;
    printf("%lld %lld",b,hanoit(n));
    //intf("%lld",a[60]);
    return 0;
}

 

posted @ 2018-04-08 23:00  柠檬不酸i  阅读(133)  评论(0编辑  收藏  举报