球球看看哪里错了

P1035 [NOIP2002 普及组] 级数求和

某个L姓羸弱 @ 2020-08-05 16:09:23

#include<iostream>
using namespace std; 
int k,n;
double s=0;
int main(){
    cin>>k;
    for(n=0;s<=k;n++) s+=1.00/n;
    cout<<n;
    return 0;
}

真的很奇怪欸


by Jasonying @ 2020-08-05 16:12:05

for(n=0;s<=k;n++)

这是啥高端写法


by LucasXu80 @ 2020-08-05 16:12:31

Hack:样例


by 某个L姓羸弱 @ 2020-08-05 16:13:50

@Jasonying 好像可以的吧,机房一大 佬说的


by LucasXu80 @ 2020-08-05 16:14:24

还有 n=0 的时候怎么能够进入循环呢。


by LucasXu80 @ 2020-08-05 16:15:36

@Jasonying s<=k 是条件表达式,只要满足这一条件就一直循环下去。是可以的。


by Jasonying @ 2020-08-05 16:16:43

草 我没看题目 我错了


by konjacq @ 2020-08-05 16:17:06

@Jasonying 这道题就该这么写,

们机房这大佬不行啊

他只是第一遍n=0的时候除了0而已


by Jasonying @ 2020-08-05 16:17:55

@konjacq 说了没看题目 我错了


by Jasonying @ 2020-08-05 16:19:23

#include<iostream>
using namespace std; 
int k,n;
double s=0;
int main(){
    cin>>k;
    for(n=1;s<=k;n++) s+=1.00/n;
    cout<<n;
    return 0;
}

这样改应该就行了吧


by shao_qian @ 2020-08-05 16:24:24

@某个L姓羸弱 double和int比较会出问题的吧


| 下一页