博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
让代码带你飞:去第二个地球要飞多久
阅读量:6533 次
发布时间:2019-06-24

本文共 2593 字,大约阅读时间需要 8 分钟。

NASA的飞船飞了9年、走了48亿公里终于拍到了冥王星送给我们的代表爱的心形,表达自己希望脱离单身狗命运的愿望。

 

几乎在同时,三里屯的一对情侣用了1月10秒进行高频率“0厘米、-10厘米、0厘米、-10厘米”身体距离的循环,用一首“优衣库里脱衣裤,一库一库”的史诗向冥王星致敬。

 

在单身狗还没从这样的被虐循环打击中缓过神来,9天后,NASA这个小贱人又发布了“我们发现了‘第二个地球’”的消息。地球这个球货也找到了另外一个“二球”,而且还比地球大60%!竟然比球货还大!

 

 

  慢着!既然有“第二个地球”,我在这个地球上找不到我的“小公举”,那我是不是在“第二个地球”上找到我的“小公举”呢!

 

她一定美的让人窒息!

 

 

 

 

说到就要能做到

我去车站买车票

票员问我去哪里

我说“去 开普勒-452b 西站,有没有票?”

 

 

 

   

   好吧,此处不留爷自有留爷处,处处不留爷,我去优衣库……说错了!处处不留爷,我去停车库!

 

 

 

那么问题来了!已知如下条件:

1)如鹏网办公地址是北京市昌平区珠江摩尔国际中心

2)珠江摩尔在京藏高速北安河出口

3)高速收费站收费员的QQ号是10001

4)这个QQ号被一个叫马化腾的盗走了

 

   求如鹏网办公室开车到“开普勒-452b 西站”要用几个小时。

 

 

 

    距离1400光年,我的车是“保时捷 6 Plus版”,车速200公里/小时。

  

 解:

1)我们知道(爱谁知道谁知道),光一秒走300000公里,一年是60*60*24*365秒,因此光一年走300000*60*60*24*365公里。

2)1400光年就是1400*300000*60*60*24*365公里

3)我的“保时捷 6 Plus版”200公里/小时,因此只要1400*300000*60*60*24*365/200小时就可以到了。

 

1400*300000*60*60*24*365/200是多少小时呢?我是程序员,伟大的软件攻城狮,我要用写代码来算!

 

Java代码:

int hours = 1400*300000*60*60*24*365/200;System.out.println("你piapia的飞,只要"+hours+"小时就可以和自己的女神papapa了");

 

运行结果是

 

   你妹呀,什么破电脑呀!怎么算出负数来了呀!

blob.png

 

 

 

 

因为int是用32位表示的,最大值是2147483647,超过他的数就会发生溢出。

 

聪明的如鹏网小鹏友可能会想到“用long,它比int范围更大”,但是long的范围也是有限的,进行天文级的运算,long也“浪不起来”了。

如果要想表示超级大的数,就不能用int、long等原始数据类型,要自己用byte数组模拟表示数组,然后自己实现四则运算。有的编程语言类库中内置了超级大的类,省的自己去写了,比如Java、.Net中都有BigInteger类。

 

下面是在Java中用BigInteger算去找“二球”用的时间

int 一年的秒数  =  60*60*24*365;BigInteger  一光年的公里数 = new BigInteger("300000").multiply(new BigInteger(String.valueOf(一年的秒数)));BigInteger 距离二球的公里数 = 一光年的公里数.multiply(new BigInteger("1400"));System.out.println("您距离二球只有:"+距离二球的公里数+"公里");BigInteger hours = 距离二球的公里数.divide(new BigInteger("200"));System.out.println("你piapia的飞,只要"+hours+"小时就可以和自己的女神papapa了");

启动运行,秒算得出结果:你piapia的飞,只要66225600000000小时就可以和自己的女神papapa了。

66225600000000小时是多少年呢?

int 一年的小时数  = 365*24; BigInteger years = hours.divide(new BigInteger(String.valueOf(一年的小时数)));System.out.println("只有"+years+"年哦");

  

   运行之:只有7560000000年哦

     就也是只要短短75.6亿年嘛!

 

 

附录:C#/.Net版代码

using System;using System.Numerics;//需要添加对System.Numerics.dll程序集的引用 namespace 如鹏网Demo{    class Program    {        static void Main(string[] args)        {            int 一年的秒数  =  60*60*24*365;            BigInteger 一光年的公里数 = new BigInteger(一年的秒数) * 300000;            BigInteger 距离二球的公里数 = 一光年的公里数 * 1400;    Console.WriteLine("您距离二球只有:"+距离二球的公里数+"公里");            BigInteger hours = 距离二球的公里数 / 200;    Console.WriteLine("你piapia的飞,只要"+hours+"小时就可以和自己的女神papapa了");    int 一年的小时数  = 365*24;     BigInteger years = hours/new BigInteger(一年的小时数);            Console.WriteLine("只有" + years + "年哦");            Console.ReadKey();        }    }}

 

因为C#有运算符重载,写出来的代码比Java简单太多、优美太多了!

 

打个广告: 

骚气十足的如鹏网招募如下岗位,欢迎加入:

1、IOS学科教学合伙人、讲师

2、Android讲师

3、.Net开发工程师

4、网页设计师

 

岗位JD详见:   

联系邮箱:yzk@rupeng.com

转载地址:http://npqbo.baihongyu.com/

你可能感兴趣的文章
用Cookie和Session实现用户登录 函数
查看>>
作业十一 总结
查看>>
22个值得收藏的Android开源代码-UI篇
查看>>
关于结果论的管理方式的一些想法
查看>>
全新做一个自己的模板步骤是?应参考那些文档?
查看>>
Java Tcp协议socket编程学习
查看>>
MySQL常用SQL总结
查看>>
scala学习之路一
查看>>
MyEclipse10.0构建maven web项目
查看>>
错误: 无法将文件“obj\Debug\Web.dll”复制到“bin\Web.dll”。对路径“bin\Web.dll”的访问被拒绝...
查看>>
[题解]小X的液体混合
查看>>
C++流的streambuf详解及TCP流的实现
查看>>
软件体系结构风格
查看>>
js监测设备类型【安卓,ios,苹果微信,电脑pc】
查看>>
C#文件和文件夹操作
查看>>
2-管理Audio焦点(Managing Audio Playback)
查看>>
C# --- 静态与非静态方法比较(转载)
查看>>
在网页中嵌入MOV视频
查看>>
网页多媒体 flash
查看>>
[geos]Geometry基本的几何对象
查看>>