C小加

厚德 博学 求真 至善 The bright moon and breeze
posts - 145, comments - 195, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

poj 1003 NYOJ 156 Hangover 解题报告

Posted on 2011-11-10 10:04 C小加 阅读(1667) 评论(0)  编辑 收藏 引用 所属分类: 解题报告
NYOJ地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=156


题意还是比较容易理解的,题上已经给出了公式。求1/2 + 1/3 + 1/4 + ... + 1/(n + 1)>=x的最小n的值,稍微注意点的就是浮点型了,貌似很多人都WA过,都是错在浮点数的。。

#include 
<iostream>
using namespace std;


int main()
{
    
float f;
    
while(cin>>f,f)
    {
        
float n=2.0;
        
float sum=0.0;
        
while(1)
        {
            sum
+=1.0/n;
            
if(sum>=f) break;
            n
+=1.0;
        }
        cout
<<(int)n-1<<" card(s)"<<endl;
    }


    
return 0;
}

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理