级数求和

Posted cznczai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了级数求和相关的知识,希望对你有一定的参考价值。

题目描述
已知:S_n= 1+1/2+1/3+…+1/nSn?=1+1/2+1/3+…+1/n。显然对于任意一个整数KK,当nn足够大的时候,S_nSn?大于KK。
现给出一个整数KK(1 \le k \le 151≤k≤15),要求计算出一个最小的nn;使得S_n>KSn?>K。
输入输出格式
输入格式:
一个正整数KK
输出格式:
一个正整数NN
这道题目思路不难 主要是细节 一开始把代码写出来了 一直没法输出结果 看了网上的解法 才恍然大悟

import java.util.Scanner;
public class Main 
    public static void main(String[] args) 
        Scanner input = new Scanner(System.in);
        int k = input.nextInt();
        double sn=0;
        int i=0;
        while (sn < k) 
            i++;
            sn=(double)1/i+sn; 
        
//一开始是下面种解法 把我坑惨了 参考上面
         //int i=1;
         //while (sn < k) 
         // sn==1/i+sn;
         //i++; 
        //
        System.out.println(i);
    

以上是关于级数求和的主要内容,如果未能解决你的问题,请参考以下文章

级数求和 C# lanmda写法

P1035 级数求和

级数求和

XCOJ 1008: 级数求和

luogu P1035级数求和

与三角有关的级数求和