瓜子 @ 2016-11-11 20:30:43
#include<iostream>
using namespace std;
int main()
{
int N=1,K;
double S=0.0;
cin>>K;
while(S<=K)
{
S=S+1/N;
N++;
}
cout<<N;
return 0;
}
by winmt @ 2016-11-11 20:54:25
修改了一下,如下:(应该可以AC)
#include<iostream>
using namespace std;
int main()
{
double N=1.0,K;
double S=0.0;
cin>>K;
while(1)
{
S=S+1.0/N;
if(S>K)break;
N++;
}
cout<<N;
return 0;
}
by winmt @ 2016-11-11 20:56:46
主要问题:.int/int结果int,即1/N(N是int)结果是int; 所以1->1.0(double),N定义成double,结果就是double了。这个问题要注意了。
by winmt @ 2016-11-11 20:58:11
@瓜子
by 瓜子 @ 2016-11-13 18:43:49
好..我明白了..谢谢..