zhan0518 @ 2023-03-02 12:03:15
#include<iostream>
using namespace std;
int main()
{
int k;
cin >> k;
int sum = 0;
int i = 0;
while(true)
{
sum += 1 / i;
if(sum > k)
{
cout << sum << endl;
return 0;
}
i++;
}
}
麻烦各位帮我看看错哪了
by bitset_iTM @ 2023-03-02 12:16:03
@zhan0518 第一次循环时i的值为0
所以sum += 1 / i;会RE 建议将i初始化成1或者i++放在循环第一行。
求关
by MWL_wma @ 2023-06-17 11:30:15
#include<iostream>
using namespace std;
int main()
{
int k;
cin >> k;
double sum = 0; //sum需要加小数(基本小于1),用int的话永远是1(sum+=1/1)
double i = 1;//除数是整型的话得数也是整型
while(1)
{
sum += 1 / i;
if(sum > k)
{
printf("%.0lf",i);//cout不知道什么原因没法输出 输出的是i而不是sum
return 0;
}
i+=1;
}
}
by MWL_wma @ 2023-06-17 11:30:52
求关
by MWL_wma @ 2023-06-17 11:32:06
AC通过