C++程序用递归函数求“2+22+222+2222......”中的每一个加数,并求和,急急!下面的程序哪里有问题???

2025-06-23 07:41:44
推荐回答(1个)
回答1:

尾递归版本

#include 

using namespace std;

//1 = 2
//2 = 2 + 22
//3 = 2 + 22 + 222
int g(int n, int y, int sum)
{
return n ? g(n - 1, y * 10 + 2, sum + y) : sum + y;
}

int f(int n) 
{
return g(n, 0, 0);
}

int main()
{
int n;
cin >> n;
cout << f(n) << endl;
}