【发布时间】:2021-01-12 04:57:21
【问题描述】:
C 中的以下程序将 n 作为输入,并使用递归找到序列的总和直到第 n 项。该系列如下: (1 x 3) + (2 x 5) + (4 x 7) + (8 x 9) + ... + 第 n 项
这是我的代码:
#include <stdio.h>
#include <math.h>
int addNumbers(int n);
int main(){
int n;
printf("Enter a positive integer n: ");
scanf("%d", &n);
printf("Sum = %d", addNumbers(n));
return 0;
}
int addNumbers(int n){
if (n>0)
return pow (2, n-1)*(2*n+1)+addNumbers(n-1);
else
return n;
}
如何在我的代码中显示 n=5 的递归模拟?
【问题讨论】:
-
以什么方式显示?也许只是在函数中添加
printf()调用? -
您需要将函数重写为更详细,例如
a=pow(); b=2*n+1; c=addNumbers(); result=a*b+c;然后你可以打印任何你想要的,然后返回结果。