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

问题如下:

假设现在有一张厚度为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. 用于生成随机数的python标准库模块是_17 Python 标准库之 random 模块 - Python 进阶应用教程...
  2. article.app.php,【求助】修改app\portal\AdminArticle.php二次开发提交数据出错的疑问
  3. boost::describe模块实现嵌套枚举的测试程序
  4. 【ArcGIS遇上Python】Python实现Modis NDVI批量化月最大合成
  5. 1121: [POI2008]激光发射器SZK
  6. windows下CodeBlocks TMD-GCC安装及配置
  7. 查看JVM运行时参数
  8. 科学计算器 c语言源代码,科学计算器C语言代码
  9. VScode Remote SSH连接失败
  10. android calendar控件,Android Calendar自定义日历控件
  11. navicat 绿化版
  12. php gd测试代码,PHP gd_info()用法及代码示例
  13. 电力系统机组调度 考虑了源荷不确定性 考虑源荷两侧不确定性的含风电的低碳调度,引入模糊机会约束,程序包括储能、风光、火电机组及水电机组
  14. 机器学习 上网时长分析
  15. 04 Anykey右分页布局TableLayout
  16. 毕业设计-基于SpringBoot药店管理系统
  17. 简单科普私钥、地址、助记词、Keystore的区别
  18. NB-IoT和LoRa的区别
  19. 2020年焊工(高级)考试题及焊工(高级)找答案
  20. 星速配资:高毅资产持股量位居首位

热门文章

  1. JVM(JAVA虚拟机)、DVM(Dalvik虚拟机)和ART虚拟机
  2. 【ssh】工作原理、sshpass超详细介绍
  3. 网络安全之linux命令大全
  4. win10更新后自带Microsoft Edge浏览器主页无法锁定解决
  5. 计算机java毕业设计 SSM大学生在线兼职发布与管理平台
  6. Python--使用logging模块
  7. 关于C语言项目的一点心得体会
  8. 苹果6s上市时间_苹果6S目前和哪个档次的安卓手机一样?答案秒杀众多品牌机...
  9. vue+element-ui实现一键切换皮肤
  10. Presto 动态过滤(dynamic filtering)原理与应用