本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

#include
int main(){
    int N;    
    scanf("%d", &N);
    double i=1.0;    
    double j=2.0;    
    double sum=0.0;    
    int k=1;    
    for(k=1;k<=N;k++){        
    sum+=j/i;        
    double x=i;        
    i=j;        
    j=j+x;          
    }       
    printf("%.2f", sum);    
    return 0;}

这个代码要注意定义数为double型,因为这个是著名的“斐波那契数列”:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…如果定义成int可能会超出范围。

你可能感兴趣的:(错题本)