NASA的飛船飛了9年、走了48億千米終於拍到了冥王星送給咱們的表明愛的心形,表達本身但願脫離單身狗命運的願望。html
幾乎在同時,三里屯的一對情侶用了1月10秒進行高頻率「0釐米、-10釐米、0釐米、-10釐米」身體距離的循環,用一首「優衣庫裏脫衣褲,一庫一庫」的史詩向冥王星致敬。java
在單身狗還沒從這樣的被虐循環打擊中緩過神來,9天后,NASA這個小賤人又發佈了「咱們發現了‘第二個地球’」的消息。地球這個球貨也找到了另一個「二球」,並且還比地球大60%!居然比球貨還大!程序員
慢着!既然有「第二個地球」,我在這個地球上找不到個人「小公舉」,那我是否是在「第二個地球」上找到個人「小公舉」呢!編程
她必定美的讓人窒息!c#
說到就要能作到api
我去車站買車票數組
票員問我去哪裏編程語言
我說「去 開普勒-452b 西站,有沒有票?」ide
好吧,此處不留爺自有留爺處,到處不留爺,我去優衣庫……說錯了!到處不留爺,我去停車庫!spa
那麼問題來了!已知以下條件:
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了");
運行結果是
你妹呀,什麼破電腦呀!怎麼算出負數來了呀!
由於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簡單太多、優美太多了!
打個廣告:
騷氣十足的如鵬網招募以下崗位,歡迎加入:
一、IOS學科教學合夥人、講師
二、Android講師
三、.Net開發工程師
四、網頁設計師
崗位JD詳見:http://www.rupeng.com/joinus.shtml
聯繫郵箱:yzk@rupeng.com