c - 语言 : C; Compute a series recursive and iterative

标签 c recursion series iteration

我目前正在努力为考试做准备,我偶然发现了以下作业:

计算级数(递归和迭代)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/

相关文章:

c - 安全的 C 编码实践

java - 如何修复CodingBat中的递归代码错误?

python - 使用map函数时出现不可排序类型错误

python - 我在数据框中有两列,一列有列名,另一列没有列名,我如何在 python pandas 上命名它们?

python - 在不更改 dtype 的情况下将日期时间转换为另一种格式

字符数组在 UDP 客户端打印随机垃圾

c - 错误: implicit declaration of function 'g_slist_free_full'

c - 在 C 源代码中使用 GNU 版本的 basename() 和 dirname()

python - 如何使用递归函数Python查找列表子集的总和

c - 递归 - 数据结构类(class) - 打印所有可能的系列