题目描述
本题是一个很简单的题目,目的是让同学们体验一下指数爆炸的威力。有了这个体验以后,相信大家在写算法时会更加重视时间复杂度这个因素的。

问题如下:

假设现在有一张厚度为1mm的纸,纸质非常柔软,可以对折无数次。每对折1次,厚度便翻一番。

已知地球距月球约39万公里,请问至少对折多少次后厚度能超过地月距离呢?(在往下看之前,请你先大致猜一个数字,写下来。待解答后进行对比)

本题为了保证测试数据的多样性,地月距离可以在一个取值范围内任意输。

输入
以km为单位,输入一个地月距离值a

a大于等于1 km,且小于1 000 000 000 km。

输出
输出对折的最小次数。

样例输入 Copy
1
样例输出 Copy
20
提示
本题可以不用64位数据类型。但若单位用的不一样,可能会用到64位类型数据。

Q: 数据超过了int的表示范围,要用64位数据,变量定义要注意什么?

A: 编译环境不同,定义不同。但在OJ上提交时,需改成long long类型再提交。

l 在VC6中调试,变量定义用__int64类型,输入输出格式用%I64d。(注意:__int64前是2条下划线,%I64d中的I是字母i的大写)

l 在windows版的Codeblocks中调试,变量定义用__int64类型或long long,输入输出格式用%I64d

l 在linux版的Codeblocks中调试或在OJ上提交时,变量定义只能用long long类型,输入输出格式用%lld。(注意:%lld中的ll是long long的2个头字母)

代码一
#include <stdio.h>
#include <math.h>
int main()
{
int n=0,a,l;
double t;
scanf("%d",&a);
do{
t=pow(2,n)*0.000001;
n++;
}while(t<=a);
printf("%d",n-1);
}

代码二
#include <stdio.h>
#include <math.h>
int main()
{
int n=0,a,l;
double t=0.000001;
scanf("%d",&a);
do{
t=2*t;
n++;
}while(t<=a);
printf("%d",n);
}

代码三
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i=0;
double a;
scanf("%lf",&a);
if(a>=1&&a<=1000000000)
{
do
{ i++;
a=a/2;
}while(a>=0.000001);
n=i;
printf("%d\n",n);
return 0;
}

}

指数爆炸:求纸张折叠厚度超过地月距离的折叠次数相关推荐

  1. php计算A4纸对折46次后的厚度(超地月距离)

    php计算A4纸对折46次后的厚度(超地月距离) <?php$iv="0.0001"; //0.1MMfor($ii=1;$ii<47;$ii++){$iv=$iv*2 ...

  2. 程序员的数学课16 二分法:如何利用指数爆炸优化程序?

    正式讲课之前,我先问你这样一个问题,请你尽可能快速回答. 一张 1 毫米厚度的纸,对折几次后,可以达到地球到月球的距离(39 万公里)? 我在写这篇稿子的时候,问了身边的几个朋友.最小的回答是 1 万 ...

  3. c语言指数爆炸月球,第一节:一枚硬币的两面:指数爆炸与索引之快

    1.折纸游戏 此为开篇之作,让我们来领略一下指数爆炸.请看下面的思考题: 假设现在有一张厚度为1mm的纸,纸质非常柔软,可以对折无数次.每对折1次,厚度便翻一番.已知地球距月球约39万公里,请问对折多 ...

  4. 指数爆炸 体验幂的可怕

    题目描述 本题是一个很简单的题目,目的是让同学们体验一下指数爆炸的威力.有了这个体验以后,相信大家在写算法时会更加重视时间复杂度这个因素的. 问题如下: 假设现在有一张厚度为1mm的纸,纸质非常柔软, ...

  5. 我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。请问,我折叠多少次,就可 以保证厚度不低于珠穆朗玛峰的高度?

    我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m.请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度? class Test5_2{public static ...

  6. c语言指数爆炸月球,指数爆炸带来的震撼

    1. 有个乞丐与皇帝下中国象棋,有个条件,如果他输了,愿意把脑袋拿掉,但是如果乞丐赢了的话,只要求皇上给一些米. 皇上说,''想要多少米?'' 不知您是否愿意?你这个棋盘,就这么多方格,第1个里面放1 ...

  7. c语言指数爆炸月球,指数爆炸:一张纸对折103次后,将填满整个宇宙?

    一张纸能填满整个宇宙吗? 常见的A4纸厚度是0.104毫米,可观测宇宙的直径是930亿光年,虽然其外还有空间,但受限于每秒30万公里的光速,天文学家暂时只能看这么多. 在关于对折纸张的纪录里,美国人创 ...

  8. 使用Java语言while循环来实现假如我有一张足够大的纸,他的厚度为0.1毫米 请问折叠多少次,可以折叠到珠峰高度?

    使用Java语言while循环来实现假如我有一张足够大的纸,他的厚度为0.1毫米 请问折叠多少次,可以折叠到珠峰高度? /* while 循环 需求: 世界上最高的山峰是珠穆朗玛峰(8844.43米= ...

  9. 《程序员的数学:7指数爆炸》

    本文属于<程序员的数学>读书笔记系列.本文内容相对比较容易. 什么是指数爆炸? 通过思考一张1mm的纸(假设可以无限次折叠),每次折叠厚度翻一倍,折多少次能够有地月距离39万KM那么厚,作 ...

最新文章

  1. Java中的Runnable、Callable、Future、FutureTask
  2. java基本数据类型_Java 中有几种基本数据类型是什么?
  3. 第四范式上榜《麻省理工科技评论》“50家聪明公司”榜单
  4. Java创建型模式的讨论
  5. 【Docker】Mac下Docker启动Kubernetes
  6. tplinkl路由器跨vlan访问_路由器与三层交换机的区别:谁才是最好的选择?
  7. laravel中的ORM模型修改created_at,updated_at,deleted_at三个时间字段类型
  8. 17 款可视化工具,让你的数据更美观!
  9. Prometheus自动发现Exporter实现方案(一看就懂)
  10. (2)安装宝塔与docker及docker镜像下载加速
  11. 六自由度机械臂运动学分析及其轨迹规划
  12. 节点是什么意思?什么是节点?
  13. 3、以太坊智能合约开发(语法开发学习)
  14. 互联网中常见的实名认证方式有哪几种?
  15. 金蝶K/3产品各版本引入/引出Excel文件时出现意外错误的提示,或未正确安装Excel的提示
  16. 揭秘青提WiFi分销小程序到底有多赚钱?商家的宝贝代理的吸金利器
  17. 笔记本固态盘数据丢失怎么办?笔记本固态盘怎么恢复数据
  18. linux被已安装软件标记为废除,dpkg --get-selections
  19. 面对百亿数据,HBase为什么查询速度依然非常快?
  20. [Unity]实现按住WASD角色移动

热门文章

  1. 深入理解PBFT算法的提交阶段
  2. 常用十大算法_回溯算法
  3. 无线网怎么调成一个服务器,两个无线路由器怎么设置到一个局域网内?
  4. 查询Linux cpu 核数
  5. nacos配置不自动刷新
  6. Maven中profile和filtering实现多个环境下的属性过滤
  7. 和平精英小程序服务器开小差,和平精英前五机制提示关闭方法
  8. 安装SQL 2016 ,都到最后了出现R server安装失败咋解决
  9. 对于电脑玩手游绝地求生:刺激战场吃鸡的几点建议
  10. SecureCRT Mac版 Fix it