【洛谷】P1035 级数求和

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/qq_42812128/article/details/86669242

P1035 级数求和

emmm要注意s必须是double类型,还有就是i的范围要足够大,太小有的n会找不到的。

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

然后我看到了一位大神的做法,很棒的一点就是i不用去设置上限。

#include<cstdio>
int main() {
    int k,n=0;
    scanf("%d",&k);
    for(double Sn=0;Sn<=k;++n,Sn+=1.0/n);
    printf("%d",n);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42812128/article/details/86669242