华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1016|回复: 2
打印 上一主题 下一主题

P1035 级数求和

[复制链接]

51

主题

61

帖子

222

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
222
跳转到指定楼层
楼主
发表于 2018-6-11 10:35:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
https://www.luogu.org/problemnew/show/P1035
题目描述已知: Sn=1+1/2+1/3+…+1/nS_n= 1+1/2+1/3+…+1/nSn​=1+1/2+1/3+…+1/n 。显然对于任意一个整数 KKK ,当 nnn 足够大的时候, SnS_nSn​ 大于 KKK 。
现给出一个整数 KKK ( 1≤k≤151 \le k \le 151≤k≤15 ),要求计算出一个最小的 nnn ;使得 Sn>KS_n>KSn​>K 。
输入输出格式输入格式:
一个正整数 KKK
输出格式:
一个正整数 NNN
输入输出样例输入样例#1: 1
输出样例#1: 2




回复

使用道具 举报

50

主题

215

帖子

619

积分

高级会员

Rank: 4

积分
619
沙发
发表于 2018-6-27 07:47:20 | 只看该作者
本帖最后由 倚窗倾听风吹雨 于 2018-6-27 07:51 编辑
  1. <div class="blockcode"><blockquote>#include<iostream>
  2. using namespace std;
  3. double s,i,k;
  4. int n;
  5. int main()
  6. {
  7.     cin>>k;
  8.     for(i=1;s<=k;i++)
  9.         s=s+1.0/i,n=i;
  10.     cout<<n;
  11.     return 0;
  12. }
复制代码

回复 支持 反对

使用道具 举报

14

主题

106

帖子

317

积分

中级会员

Rank: 3Rank: 3

积分
317
板凳
发表于 2018-6-30 23:56:06 | 只看该作者
#include<cstdio>
using namespace std;
int main()
{
    double c=0,k;
        int n=0;
        scanf("%lf",&k);
        while(c<=k)
        {
                n++;
                c=c+(1.0000/n);
        }
        printf("%d",n);
        return 0;
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-2 12:33 , Processed in 0.103094 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表