编辑:不是家庭作业,我试图解决过去几年的测试,只是学习.
我有这个功能,并想知道采取什么步骤将其转换为递归的.
这是我的函数,它将N个第一个奇数加起来:
4^2 = 1+3+5+7 = 16;
int quadIT(int n){
int x=0;
int z=1;
int y=n;
while(y>0){
x+=z;
z+=2;
y--;
}
return x;
}
Run Code Online (Sandbox Code Playgroud)
可能上面的功能不是最好的方法.
我很感激这里的任何帮助.
我不想给你一个直接的答案,而是告诉你大致如何做到这一点.这两个是等价的:
int foo(int n){
if (n == 0){
return something
} else {
do something
return foo(n-1);
}
}
while(n > 0){
do something
n--;
}
Run Code Online (Sandbox Code Playgroud)