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

完结撒花!

相关推荐
handler017 小时前
从源码到二进制:深度拆解 Linux 下 C 程序的编译与链接全流程
linux·c语言·开发语言·c++·笔记·学习
t***5448 小时前
如何在Dev-C++中使用Clang编译器
开发语言·c++
Qbw20048 小时前
【Linux】进程地址空间
linux·c++
6Hzlia9 小时前
【Hot 100 刷题计划】 LeetCode 739. 每日温度 | C++ 逆序单调栈
c++·算法·leetcode
良木生香9 小时前
【C++初阶】:STL——String从入门到应用完全指南(1)
c语言·开发语言·数据结构·c++·算法
XWalnut10 小时前
LeetCode刷题 day16
数据结构·算法·leetcode·链表·动态规划
Kurisu_红莉栖11 小时前
c++复习——const,static字
c++
czxyvX11 小时前
1-Qt概述
c++·qt
齐鲁大虾11 小时前
新人编程语言选择指南
javascript·c++·python·c#