洛谷P1035 级数求和 题解

#题外话(第42篇题解)

#先看题目

题目链接https://www.luogu.com.cn/problem/P1035#思路

没啥思路,这其实偏向模拟一点,按照题目说的做就行了。

#代码

原来是这个熊样的(都能AC,优化的问题)

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main(){
    double i=1,cnt=0,k,sum=0,x;
    cin>>k;
    while(sum<=k){
        x=1.0/i;
        sum+=x;
        cnt++;i++;
    }
    cout<<cnt;
    return 0;
}

但是后来又想了想,优化成了这样:(cnt和i其实差不多)

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int main(){
    double i=1,cnt=0,k,sum=0,x;
    cin>>k;
    while(sum<=k){
        x=1.0/(cnt+1);
        sum+=x;
        cnt++;
    }
    cout<<cnt;
    return 0;
}

再来一波注释:

cpp 复制代码
#include <bits/stdc++.h>//看它干什么?没见过吗~
using namespace std;//命冥空间
#define qwq return 0;
double cnt=0,k,sum=0,x;//得用double哈
int main(){
    //freopen("a.in","r",stdin);freopen("a.out","w",stdout);
    //上面这行的话......
    cin>>k;//先整进来
    while(sum<=k){//循环,当和小于目标数时一直干
        x=1.0/(cnt+1);//产生"级数"
        sum+=x;//级数求和
        cnt++;//其实可以优化成for,但懒得弄了
    }
    cout<<cnt;//输出
    qwq
}

完结撒花!

相关推荐
GOATLong9 分钟前
网络基础概念
linux·运维·服务器·网络·arm开发·c++
工藤新一¹34 分钟前
C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 14)
开发语言·c++·游戏引擎·游戏开发·sdl·实践项目
<但凡.2 小时前
C++修炼:list模拟实现
开发语言·数据结构·c++
byte轻骑兵2 小时前
【C++类和数据抽象】复制构造函数
开发语言·c++
孞㐑¥2 小时前
C++之异常
开发语言·c++·经验分享·笔记
songx_992 小时前
算法设计与分析7(贪心算法)
算法
CoderCodingNo2 小时前
【GESP】C++三级练习 luogu-B2114 配对碱基链
开发语言·c++
aigonna2 小时前
Kimi 7B 语音转文字
算法
敲代码的瓦龙2 小时前
C++?动态内存管理!!!
c语言·开发语言·数据结构·c++·后端
虾球xz2 小时前
游戏引擎学习第248天:清理数据块显示
c++·学习·游戏引擎