关闭

折纸的厚度

802人阅读 评论(0) 收藏 举报

问题描述

假定有一张充分大的纸,并且可以进行许多次对折。若单张纸的厚度为 x ,计算经过多少次对折后,折纸的厚度超过珠穆朗玛峰的高度 8844.43

输入

输入数据仅有一行。该行有若干个数据表示单纸张的厚度(以毫米为单位),对应每一种情形。

输出

对于每一种情形,先输出“ Case #: # 为序号,从 1 起),然后输出单张纸张的厚度、需要对折的次数、总厚度(以米为单位),换行。

输入样例

0.1 0.3 0.5

输出样例

Case 1: 0.1, 27, 13421.8

Case 2: 0.3, 25, 10066.3

Case 3: 0.5, 25, 16777.2

 

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double thick,a,height=0.0;
    int n,k=0;
    while(cin>>thick)
    {    cout<<"Case "<<++k<<": "<<thick<<", ";
        for(n=-1;height<=8844430.0;)
        {
            ++n;
            a=pow(2.0,double(n));
            height=a*thick;
           
        }
        cout<<n<<", "<<height*0.001<<endl;
        height=0;
    }
    return 0;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21887次
    • 积分:478
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章存档