導航:首頁 > 源碼編譯 > 經典演算法300句

經典演算法300句

發布時間:2025-01-07 12:13:37

Ⅰ 三個人去投宿。要300元,每個人各出100元。 後來老闆說今天特價只要250元,叫服務生退50元給他們。 服務生

【解答】
一句一句來。

【三個人去投宿,服務生說要300元,每個人就各出了100元,湊成300元。】
這句沒有問題,100X3=300。

【後來老闆說今天特價只要250元,於是叫服務生把退的50元拿去還給他們;服務生想說自己暗藏20元起來,於是就把剩下的30元還給他們。】
這句也沒有問題。
300-250(老闆實拿的錢)=50(老闆退給三人的錢)
50-20(服務生暗杠的錢)=30(服務生退給三人的錢)

換言之,在支出這邊,三人共出了 300元,老闆拿去250元,服務生拿去20元,剩下的30元,三個人自己各拿回來10元。

也就是三人共支付了(100-10)X3=270元;在這270元中,老闆拿走了250元,而服務生拿走了20元。

在這里要注意:不能再用300元來算了。三人實際支出的是270元。服務生A的錢是從這270元里A的。不是從300元中A的。

【那三個人每人拿回10元100-10=90,表示每個人只出了90元投宿】
這句是對的。下一句才是錯的。

【90元 X3人=270元+服務生的20元=290元。
請問...那剩下的10元呢????】
這里的關鍵錯誤就是那個「+服務生的20元」!

如上所述,3人實出的金額是270元沒錯。而服務生就是在這270元內A走20元!所以不能再外加「服務生[A走]的20元」。
290元的演算法是無意義的。
然後再用已不存在的300元來減290更無意義。

所以答案就是:
本來無10元,如何會消失?!

Ⅱ 演算法怎麼學

貪心演算法的定義:

貪心演算法是指在對問題求解時,總是做出在當前看來是最好的選擇。也就是說,不從整體最優上加以考慮,只做出在某種意義上的局部最優解。貪心演算法不是對所有問題都能得到整體最優解,關鍵是貪心策略的選擇,選擇的貪心策略必須具備無後效性,即某個狀態以前的過程不會影響以後的狀態,只與當前狀態有關。

解題的一般步驟是:

1.建立數學模型來描述問題;

2.把求解的問題分成若干個子問題;

3.對每一子問題求解,得到子問題的局部最優解;

4.把子問題的局部最優解合成原來問題的一個解。

如果大家比較了解動態規劃,就會發現它們之間的相似之處。最優解問題大部分都可以拆分成一個個的子問題,把解空間的遍歷視作對子問題樹的遍歷,則以某種形式對樹整個的遍歷一遍就可以求出最優解,大部分情況下這是不可行的。貪心演算法和動態規劃本質上是對子問題樹的一種修剪,兩種演算法要求問題都具有的一個性質就是子問題最優性(組成最優解的每一個子問題的解,對於這個子問題本身肯定也是最優的)。動態規劃方法代表了這一類問題的一般解法,我們自底向上構造子問題的解,對每一個子樹的根,求出下面每一個葉子的值,並且以其中的最優值作為自身的值,其它的值舍棄。而貪心演算法是動態規劃方法的一個特例,可以證明每一個子樹的根的值不取決於下面葉子的值,而只取決於當前問題的狀況。換句話說,不需要知道一個節點所有子樹的情況,就可以求出這個節點的值。由於貪心演算法的這個特性,它對解空間樹的遍歷不需要自底向上,而只需要自根開始,選擇最優的路,一直走到底就可以了。

話不多說,我們來看幾個具體的例子慢慢理解它:

1.活動選擇問題

這是《演算法導論》上的例子,也是一個非常經典的問題。有n個需要在同一天使用同一個教室的活動a1,a2,…,an,教室同一時刻只能由一個活動使用。每個活動ai都有一個開始時間si和結束時間fi 。一旦被選擇後,活動ai就占據半開時間區間[si,fi)。如果[si,fi]和[sj,fj]互不重疊,ai和aj兩個活動就可以被安排在這一天。該問題就是要安排這些活動使得盡量多的活動能不沖突的舉行。例如下圖所示的活動集合S,其中各項活動按照結束時間單調遞增排序。

關於貪心演算法的基礎知識就簡要介紹到這里,希望能作為大家繼續深入學習的基礎。

Ⅲ 誰有好的C語言例題

1、以下程序實現:輸入圓的半徑 r 和運算標志 m ,按照運算標志進行指定計算。
標志 運算
A 面積
B 周長
C 二者均計算
2、以下程序實現輸出 x , y , z 三個數中的最大者。
3、以下程序實現:輸入三個整數,按從大到小的順序進行輸出。
4、以下程序對輸入的一個小寫字母,將字母循環後移 5 個位置後輸出。如』a』變成『f』 , 『w 『變成』b』。
5、某郵局對郵寄包裹有如下規定:若包裹的長寬高任一尺寸超過 1 米或重量超過 30 千克,不予郵寄;對可以郵寄的包裹每件收手續費 0. 2 元,再加上根據下表按重量 wei 計算的郵資:
重量(千克) 收費標准(元)
wei < 10 0. 80
10 < wei < = 20 0 . 75
20 < wei<=30 0 . 70

6、某個自動加油站有A,B,C三種汽油,單價分別為 1.05 , 1 . 35 , 1 . 18 (元/千克),也提供了」自己加」或「協助加」 兩個服務等級,這樣用戶可以得到 5%或 10%的優惠。本程序針對用戶輸入加油量 a ,汽油品種 b 和服務類型 c
(f ---自動, m----自己,e---協助),輸出應付款 m 。
7、編程實現以下功能:讀入兩個運算數( datal 和 dataZ )及一個運算符(叩) , 計算表達式 datal op dataZ 的值,其中 op 可為+,一, * , / (用 Switch 語句實現)。
8、有一堆零件( 100到 200 之間),如果分成 4 個零件一組的若干組,則多 2 個零件;若分成 7 個零件一組,則多 3 個零件;若分成 9 個零件一組,則多 5 個零件。請編程序是求這堆零件總數。
9、請編程實現求 1000以內的所有完全數。(說明:一個數如果恰好等於它的因子之和(除自身外),則稱該數為完全數,例如: 6 = 1 + 2 + 3 , 6 為完全數)
10、編寫程序實現功能:從三個紅球、五個白球、六個黑球中任意取出八個球,且其中必須有白球,輸出所有可能的方案。

11、編寫程序實現功能:計算 100 至 1000 之間有多少個數其各位數字之和是 5 。

12、每個蘋果 0 . 8 元,第一天買 2 個蘋果,第二天開始,每天買前一天的 2 倍,直至購買的蘋果個數達到不超過 100 的最大值。編寫程序求每天平均花多少錢?

13、試編程序,找出 1 至1000之間的全部同構數。同構數是這樣一組數:它出現在它的平方數的右邊。例如: 5 是 25 右邊的數, 25 是 625 右邊的數, 5 和 25 都是同構數。
14、試編程序,求一個整數任意次方的最後三位數。即求 xy的最後三位數,要求 x , y 從鍵盤輸入。

15、編寫程序,從鍵盤輸入 6 名學生的 5 門成績,分別統計出每個學生的平均成績。

如果做完基礎,可以繼續追問!

閱讀全文

與經典演算法300句相關的資料

熱點內容
用友t3伺服器地址變動 瀏覽:324
伺服器掛了找誰伺服器地址 瀏覽:575
單片機p30引腳功能 瀏覽:279
oracle命令導出資料庫 瀏覽:595
python多行代碼編譯窗口 瀏覽:966
如何解壓精神壓力 瀏覽:188
嶽麓版高中歷史課本pdf 瀏覽:415
中國銀行app充話費怎麼看電話號碼 瀏覽:427
安卓手機安裝量達到上限怎麼辦 瀏覽:304
清除bitlocker加密 瀏覽:353
實木地板打龍骨要加密嗎 瀏覽:122
安卓手機怎麼用fv懸浮器 瀏覽:805
疫情期間程序員的失業 瀏覽:208
微信samplephp 瀏覽:164
食物解壓系列素材 瀏覽:767
python人工智慧視頻 瀏覽:615
修腳視頻解壓嵌甲 瀏覽:851
php內置函數手冊 瀏覽:985
靈通8800加密 瀏覽:36
oracle命令導出 瀏覽:538