我可以在编程任务中使用一些帮助。我需要使用递归来生成arithmetic_series = arithmetic_series_recursive。现在我的递归功能无法正常工作。它只能工作到三号。这些函数应该从用户获取输入并根据数字内的整数形成一个数字。 IE如果用户输入3则为1 * 2 * 3 = 6。
int arithmetic_series(int n){
int total = ((n+1) * n )/ 2;
cout << total << endl;
return total;
}
int arithmetic_series_recursive(int n){
if(n==1){
return 1;
}else{
return n*arithmetic_series_recursive(n-1);
}
}
答案 0 :(得分:1)
您的第一个函数查找从1
到n
的整数之和。您的第二个函数找到该范围的乘积,或!n
。我不知道您在第一个功能中可以使用的任何简化。
如果您想找到数字的总和,您可以更改第二个功能以执行添加:
int arithmetic_series_recursive(int n) {
if (n == 1) {
return 1;
}
else {
return n + arithmetic_series_recursive(n - 1);
}
}