题意:木板在一个箱子上,给出一个长度,问至少有多少个木板才能超过这个长度(这题不符合物理知识)
分析:建立一个循环,逐渐相加1/(i+1)就行,但是要注意一点,一定要将1/(i+1)强制转换为浮点型,不然,会一直是零。
贴代码:(167k,16ms)
#include<iostream>
using namespace std;
int main()
{
int
i;
float
num;
float
lengths;
while(
cin
>>
num
&&
num
!=
0)
{
lengths
=
0;
for(
i
=
1;;
i
++)
{
lengths
+= (
float)
1
/(
i
+
1);
if(
lengths
>
num)
{
cout
<<
i
<<
" card(s)"
<<
endl;
break;
}
}
}
}
using namespace std;
int main()
{
}
总结:这一题没啥内容,就简单复习一下如何判断两浮点型数据的大小是否相等吧
用这种近似判断的方法。