yuncheyao11 @ 2022-12-12 19:58:50
函数代码
#include <stdio.h>
int Min(long long k)
{
long long i;
double sum=0.000000;
for (i=1;;i++)
{
sum+=1.000000/i;
if (sum>k)
break;
}
return i;
}
int main()
{
long long i,k;
double sum=0.000000;
scanf("%lld",&k);
printf("%lld",Min(k));
return 0;
}
in:1 put:27584015141699586
无函数代码
#include <stdio.h>
int main()
{
long long i,k;
double sum=0.000000;
scanf("%lld",&k);
for (i=1;;i++)
{
sum+=1.000000/i;
if (sum>k)
break;
}
printf("%lld",i);
return 0;
}
in:1 put:2
路过的大佬能帮帮蒟蒻吧orz
by XYukari @ 2022-12-12 20:01:58
函数类型写成 int 了吧?
by Loser_Syx @ 2022-12-12 20:02:18
@yuncheyao11 你的函数返回值是int,输出时是long long,不对应
by Terrible @ 2022-12-12 20:04:34
@yuncheyao11 上面的程序里函数类型对不上,读取变量时越界读取了,所以那个数字非常大。把%lld
改成%d
或者把int Min
改成 long long Min
。
by yuncheyao11 @ 2022-12-13 12:10:46
@Terrible 谢谢!知道啦
by yuncheyao11 @ 2022-12-13 12:11:21
@Saint_ying_xtf 知道了 谢谢谢谢
by yuncheyao11 @ 2022-12-13 12:12:07
@yxu0528 现在知道了 之前以为只能写int类型orz