栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

大学双创部洛谷训练(P1035,C语言实现)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

大学双创部洛谷训练(P1035,C语言实现)

题目来源https://www.luogu.com.cn/problem/P1035

   题目描述:

题目描述

已知:Sn​=1+1/2+1/3+……+1/n。显然对于任意一个整数 k,当 n 足够大的时候,Sn​>k。

现给出一个整数 k,要求计算出一个最小的 n,使得Sn​>k 。

输入格式

一个正整数 k。

输出格式

一个正整数 n。

题目分析:

      1.需要一个变量储存整数k

      2.需要一个变量储存累加的和也就是Sn

     3.用循环的方式作累加

    4.循环结束的条件是累加值小于k

代码如下:

#include 
int main()
{
    int n=0,k=0;
    double sum=0.0;
    scanf("%d",&k);
     for(n=1;sum<=k;n++)
     {
         sum+=1.0/n;
     }
    printf("%d",n);
    return 0;
}

输出结果

 

 反思与注意:

1.for循环中累加式注意1/整数n一定为0(除非n为1),哪怕将sum定义为浮点型,因为1/n先做,所以并不会得到浮点型结果(即如果已知结果肯定为符点型,与变量运算的数字常量也要带上小数点)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352972.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号