sosla @ 2019-10-21 23:37:43
好像长得差不多,但是我的评测只有60分= =
不懂是哪里的问题
我的代码
#include<stdio.h>
int main()
{
int a=0 , b;
float sum = 0;
scanf("%d", &b);
for (; sum <= b; ++a, sum += (1.0 / a));
printf("%d", a);
return 0;
}
别人的代码
#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;
}
by ZhuMingYang @ 2019-10-21 23:41:31
float精度不够 改double
by sosla @ 2019-10-22 23:12:16
@ZhuMingYang 啊,好像是。
之前测试的时候测试数太小看起来没区别,数一大就差好多了。
没想到精度影响居然这么大