zoukankan      html  css  js  c++  java
  • 快速切题 poj 1003 hangover 数学观察 难度:0

    Hangover
    Time Limit: 1000MS   Memory Limit: 10000K
    Total Submissions: 103896   Accepted: 50542

    Description

    How far can you make a stack of cards overhang a table? If you have one card, you can create a maximum overhang of half a card length. (We're assuming that the cards must be perpendicular to the table.) With two cards you can make the top card overhang the bottom one by half a card length, and the bottom one overhang the table by a third of a card length, for a total maximum overhang of 1/2 + 1/3 = 5/6 card lengths. In general you can make n cards overhang by 1/2 + 1/3 + 1/4 + ... + 1/(n + 1) card lengths, where the top card overhangs the second by 1/2, the second overhangs tha third by 1/3, the third overhangs the fourth by 1/4, etc., and the bottom card overhangs the table by 1/(n + 1). This is illustrated in the figure below.


    Input

    The input consists of one or more test cases, followed by a line containing the number 0.00 that signals the end of the input. Each test case is a single line containing a positive floating-point number c whose value is at least 0.01 and at most 5.20; c will contain exactly three digits.

    Output

    For each test case, output the minimum number of cards necessary to achieve an overhang of at least c card lengths. Use the exact output format shown in the examples.

    Sample Input

    1.00
    3.71
    0.04
    5.19
    0.00
    

    Sample Output

    3 card(s)
    61 card(s)
    1 card(s)
    273 card(s)

    题意:求sum(1/n)=给定数的n
    思路:因为n只有可能300种,预处理比较即可,精度0.01,不需要设置eps
    #include <iostream>
    double tc;
    double sum[300];
    using namespace std;
    int main(){
        ios::sync_with_stdio(false);
        double s=0;
        for(int i=0;i<300;i++){
            s+=1.00/(i+2);
            sum[i]=s;
        }
        while(cin>>tc&&tc){
            int i=0;
            for(int i=0;i<300;i++){
                if(sum[i]>=tc){
                    cout<<i+1<<" card(s)"<<endl;
                    break;
                }
            }
            if(i==300)cout<<"ERROR"<<endl;
        }
        return 0;
    }
    

      

  • 相关阅读:
    51 Nod 1068 Bash游戏v3
    51 Nod Bash 游戏v2
    51 Nod 1073 约瑟夫环
    UVA 12063 Zeros and ones 一道需要好好体会的好题
    51 Nod 1161 Partial sums
    2018中国大学生程序设计竞赛
    UVA 11971 Polygon
    UVA 10900 So do you want to be a 2^n-aire?
    UVA 11346 Possibility
    python with as 的用法
  • 原文地址:https://www.cnblogs.com/xuesu/p/4106228.html
Copyright © 2011-2022 走看看