我手裡有50元錢,買東西花50元,統計51元,這是為什麼?
今天在班車上刷朋友圈看到了這張圖。
我不知道是不是馬雲說的,但是想了很多,和大家分享一下,
看到這張,如果你在計算為什麼等於51,那麼恭喜你,你上當了。
如果我買糖果是10元,買食品是5元呢? 如下表
買東西花去
剩餘買衣服 20元
30元買拖鞋 15元
15元買糖果 10元
5元買食品 5元
0元總計:50元
總計:50元
兩個統計都是50。貌似這樣就對了。嘿嘿
變了**不好?
ok,我們來變下順序。這次我先買食品,最後買衣服。如下表
買東西花去
剩餘買食品 5元
45元買拖鞋 15元
30元買糖果 10元
20元買衣服 20元
0元總計:50元
總計:95元
哈哈,發現問題了?
首先我們應該明白一點,餘額是相加毫無意義的。
如果你早就發現了這一點,那麼恭喜你,你方法找對了。
體現在我們程式設計中,就是方法找對了,完成某個需求找對了所用的技術。
我想這也是技術一直革新,新的技術一直出現的原因把:總會有更合適的來代替。
這就乙個陷阱,別人告訴你演算法或者方法不一定適用或正確。
還沒完,
既然這個題目是馬雲出的(估計是假的,為了引人關注而已),我又想了很多。
結合前一段時間很火的,
雲計算+大資料
我在想為什麼會有這樣的演算法(餘額相加)出現?
第一次我改了一下糖果和食品的**,出現了兩個統計都是50,我就覺得餘額相加等於消費總額。
那麼這個想法是否正確?當然是錯誤的。。。我tm在說廢話麼? 不是的。。。
我們經常會和朋友爭論一些問題,生活上的也好,技術上的也好。
我們之所以有分歧有不同的見解是因為我接觸到的東西不完全一樣,
對乙個問題會有自己的方法會用自己的技術去解決。
誰說的對?誰的方法、技術比較合適這個得通過實踐來證明。
就像我後來把順序變了一樣,很明顯就發現餘額相加毫無意義。
我用三個例子資料得出(運算) 證明了乙個方法--餘額相加,是不對的。
我們可以通過大資料,雲計算得到更多。
解決問題的思想很重要
說道這裡推薦一篇文章
哈哈 扯了很多,不知道有沒有人看完。。。。
其實 簡單的說起來 就一句話:技術只是手段,程式設計思想才是最重要的
我現在深有體會。 不扯了。。。寫累了。。。
關於結構化程式設計思想
前段時間看了csdn的 it學生解惑真經 很不錯的文章,我覺得每個it學生都應該看一看 上面再講學習c時要掌握結構化程式設計思想,故在網上找到一篇寫的比較全面的,在這裡和大家一起分享 計算機語言只是乙個程式設計工具,學習程式設計,最重要的是學會針對各種型別的問題,設計出有效的解決方法和步驟,而不應只...
關於過載(Java程式設計思想摘要)
涉及基本型別的過載 之前不知道會自動提公升型別,所以摘要記錄 基本型別能從乙個 較小 的型別自動提公升至乙個 較大 的型別,此過程一旦牽涉到過載,可能會造成一些混淆。以下一些例子說明了將基本型別傳遞給過載方法時發生的情況。單獨把這個摘出來的原因是,以前從來沒有考慮過這種情況 public f1 ch...
swift中鏈式程式設計思想
作為乙個ios程式設計師基本上都應該接觸過masonry這個自動布局庫。這個庫能夠幫助程式設計師極大程度的簡化自動布局的 通過點 呼叫的方式,將 連線成一行,大大增加了 的可讀性,這就是本篇要提到的鏈式程式設計。本篇主要是通過乙個簡單的例子來實現上述的鏈式程式設計。計算器demo class cal...