C++编程,汉洛塔,这种应该怎么改呀

这种应该怎么改呀

img

#include
using namespace std;
int main(){
    int n=0,b;
    int ceng();
    cout<<"输入层数:"; 
    cin>>n;
    b=ceng(n);
    cout<<"完成"<" 层汉洛塔需要"<"步"; 
}
int ceng(int n){
    if(n==1)
        return 1;
    else
        return 2*ceng(n-1)+1;    
    
}

在前面声明函数:int ceng(int n);,或者把ceng函数移到int main()前面。

#include<iostream>
using namespace std;

int main()
{
    int ceng(int n);
    int n=0,b;
    int ceng();
    cout<<"输入层数:"; 
    cin>>n;
    b=ceng(n);
    cout<<"完成"<<n<<" 层汉洛塔需要"<<b<<"步"; 
}
int ceng(int n){
    if(n==1)
        return 1;
    else
        return 2*ceng(n-1)+1;    
    
}