33.牛牛学数列3

49 阅读1分钟

链接:ac.nowcoder.com/acm/problem…
来源:牛客网

题目描述

牛牛准备继续进阶,计算更难的数列

输入一个整数n,计算 1+1/(1-3)+1/(1-3+5)+...+1/(1-3+5-...((-1)^(n-1))*(2n-1))的值

输入描述:

输入一个整数

输出描述:

输出一个浮点数,保留3位小数

示例1

输入

1

输出

1.000

规律

1 - 1/2 + 1/3 -1/4 + 1/5 -1/6 ...

代码

#include <bits/stdc++.h>

using namespace std;

int main(){
    int n;
    cin >> n;
    double num = 0;
    //1 - 1/2 + 1/3 -1/4
    for(int i = 1;i <= n; i++){
        if(i % 2 == 1){
            num += 1.0/i;
        }else{
            num += 1.0/(-i);
        }       
    }
    printf("%.3f",num);
    return 0;
}