求大佬指点这样写哪里错了??

P1035 [NOIP2002 普及组] 级数求和

日落通緝 @ 2019-10-13 10:35:12

include<stdio.h>

int main() { int K,N; double Sn; scanf("%d\n",&K); for(N=0;Sn<=K;N++) { Sn+=1.0/N; } printf("%d\n",N); return 0; }


by xxtpp @ 2019-10-13 10:39:26

希望更丰富的展现?使用Markdown


by 反手for循环 @ 2019-10-13 10:40:02

#include<stdio.h>
int main() { 
  int K,N; double Sn; 
  scanf("%d\n",&K); 
  for(N=0;Sn<=K;N++) { Sn+=1.0/N; }    printf("%d\n",N); 
 return 0; 
  }

第一个N=0不能算吧。


by 反手for循环 @ 2019-10-13 10:40:22

@s1938927089


by 日落通緝 @ 2019-10-13 10:46:53

@反手for循环 但是我昨天改成N=1后也错误了


by 反手for循环 @ 2019-10-13 10:50:01

我的AC代码:

#include<bits/stdc++.h>
using namespace std;
#define main mian
int n=1;
double k,s=1;
int main()
{
    cin>>k;
    do{
        ++n;
        s+=1.00/n;
    }while(s<=k);
    printf("%d",n); 
    return 0;
}

是不是精度的问题?


by 反手for循环 @ 2019-10-13 10:50:20

@s1938927089 又忘记@你了。


by chino_33 @ 2019-10-13 10:57:52

希望更丰富的展现?使用Markdown


by 日落通緝 @ 2019-10-13 11:08:50

@反手for循环 我用while语句重新改写了下,谢谢了


by zhph @ 2019-10-20 20:59:52

错在没有打表


|