洛谷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
}

完结撒花!

相关推荐
不染尘.7 小时前
2025_11_7_刷题
开发语言·c++·vscode·算法
似水এ᭄往昔7 小时前
【C++】--stack和queue
开发语言·c++
仰望—星空7 小时前
MiniEngine学习笔记 : CommandListManager
c++·windows·笔记·学习·cg·direct3d
来荔枝一大筐8 小时前
力扣 寻找两个正序数组的中位数
算法
算法与编程之美8 小时前
理解Java finalize函数
java·开发语言·jvm·算法
怕什么真理无穷8 小时前
C++面试4-线程同步
java·c++·面试
地平线开发者9 小时前
LLM 训练基础概念与流程简介
算法·自动驾驶
点云SLAM9 小时前
弱纹理图像特征匹配算法推荐汇总
人工智能·深度学习·算法·计算机视觉·机器人·slam·弱纹理图像特征匹配
星释9 小时前
Rust 练习册 :Matching Brackets与栈数据结构
数据结构·算法·rust
地平线开发者9 小时前
Camsys 时间戳信息简介
算法·自动驾驶