POJ 1003 Hangover(水题) 权当复习…

题意:木板在一个箱子上,给出一个长度,问至少有多少个木板才能超过这个长度(这题不符合物理知识)

分析:建立一个循环,逐渐相加1/(i+1)就行,但是要注意一点,一定要将1/(i+1)强制转换为浮点型,不然,会一直是零。

贴代码:(167k,16ms)

 

C++语言:
#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;
            }
        }
    }
}

 

 

总结:这一题没啥内容,就简单复习一下如何判断两浮点型数据的大小是否相等吧

      double num1,num2;

      if(fabs(num1-num2)<=1e-6)

         cout<<"两者相等"<<endl;

用这种近似判断的方法。 

你可能感兴趣的:(POJ 1003 Hangover(水题) 权当复习…)