题解 | #牛牛学数列3#

牛牛学数列3

https://ac.nowcoder.com/acm/problem/22158

将分子分母分开想这道题
分子不变,分母一直变化
且第i次的分母与第i-1的分母有关系
则可用m[i]=m[i-1]+(-1)^(n-1)*(2n-1)求解即可
分母解决就直接可以往主式子带入循环求解即可
注:因为保存数据用数组保存所以存在空间浪费问题,当判断数量过于庞大时可能存在超时问题;
本人菜鸡T-T
#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;
int main()
{
    int n, k;
    double sum = 0;
    double m[1000] = { 0 };
    int i;
    cin >> n;

    for (k=1; k <= n; k++)
    {
        m[k] = m[k - 1] + pow(-1,(double)(k-1)) * (2 * k - 1);  //计算分母
    }

    for (i = 1; i <= n; i++)
    {
        sum += 1.0 / m[i];    //相加
    }

    cout << fixed << setprecision(3);
    cout << sum << endl;
    return 0;
}



全部评论

相关推荐

11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务