洛谷 P1035 级数求和 已知:S_n= 1+1/2+1/3+…+1/nS n ​ =1+1/2+1/3+…+1/n。显然对于任意一个整数KK,当nn足够大的时候,S_nS n ​ 大于KK。 现给出一个整数KK(1 \le k \le 151≤k≤15),要求计算出一个最小的nn;使得S_n>KS n ​ >K。 输入输出格式 输入格式: 一个正整数KK 输出格式: 一个正整数

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, k;
    double s;
    scanf("%d", &k);
    s = 0.0;
    n = 1;
    while (1)       //死循环
    {
        s = s + 1.0/n;     //求s=1+1/2+...+1/n
        if(s > k)       
        {
            printf("%d\n", n);
            break;      //跳出死循环
        }
        n++;
    }
    return 0;
}

posted @ 2018-09-13 16:28  崔杯杯  阅读(4216)  评论(0)    收藏  举报