我目前正在努力为考试做准备,我偶然发现了以下作业:
计算级数(递归和迭代)1-(1/2)+(1/3)-(1/4)+(1/5)...(1/n)。我一般在网上搜索,特别是此页面,但不幸的是,我只找到了我不理解的基于 Java 的解决方案。
所以,请帮助我:)
到目前为止,我的最大努力只得到了答案“1.00”:-/
这是我所做的(完整):
#include <stdio.h>
float reihe_ite(int n);
float reihe_rek(int n);
int main(){
float a,b;
a=reihe_ite(5);
b=reihe_rek(5);
printf("\niterativ: %.2f\nrekursiv: %.2f", a, b);
return 0;
}
float reihe_ite(int n){
int i;
float x=0;
for(i=1;i<=n;i++){
if(i%2==0){
x=x-(1/i);
}
else{
x=x+(1/i);
}
}
return x;
}
float reihe_rek(int n){
if(n==1)
return 1;
else{
if(n%2==0){
return reihe_rek(n-1)-(1/n);
}
else{
return reihe_rek(n-1)+(1/n);
}
}
}
最佳答案
x=x-(1/i);
1/i
是整数除法。
使用:
x=x-(1.0f/i);
对于 float
部门
关于c - 语言 : C; Compute a series recursive and iterative,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17154923/