程式設計師的演算法趣題Q02 數列的四則運算

2021-10-01 10:14:17 字數 524 閱讀 4582

q02——數列的四則運算

大家小時候可能也玩過「組合車牌號裡的4個數字最終得到10」的遊戲。組合的方法是在各個數字之間插入四則運算的運算子組成算式,然後計算算式的結果。

假設:組合算式的計算結果為「將原數字各個數字上的數逆序排列得到的數」,並且算式的運算按照四則運算的順序進行(先乘除後加減)。

問題:求位於1000~9999,滿足上述條件的數。

思路:解決這個問題時,「計算算式的方法」會影響實現方法。可以使用程式語言內建的功能來實現。

**如下:

var op =

["+"

,"-"

,"*"

,"/",""

];for(i =

1000

; i <

10000

; i++)}

}}}}

如果打算用c語言來實現,會發現沒有eval這樣的函式。很多指令碼語言都提供eval這樣的函式,但c語言沒有這樣的功能。這種情況下,可以使用「逆波蘭表示法」等實現算式計算。

程式設計師的演算法趣題 Q3翻牌

這裡有 100 張寫著數字 1 100 的牌,並按順序排列著。最開始所有牌都是背面朝上放置。某人從第 2 張牌開始,隔 1 張牌翻牌。然後第 2,4,6,100 張牌就會變成正面朝上。接下來,另乙個人從第 3 張牌開始,隔 2 張牌翻牌 原本背面朝上的,翻轉成正面朝上 原本正面朝上的,翻轉成背面上 ...

程式設計師的演算法趣題Perl版 (二)

竟然一月一更。第四題 假設一根木棒n厘公尺,需要切分為一厘公尺長的木棒,每根木棒只可以乙個人切,木棒切成兩根可以兩個人切 求 n厘公尺長木棒,m個人最少要切幾次,比如n 8,m 3,則需要切4次。perl 20170930 use strict sub cut elsif currentparts ...

100 的程式設計師都想挑戰的演算法趣題!

計算機的世界每天都在發生著深刻的變化。新作業系統的發布 cpu效能的提公升 智慧型手機和平板電腦的流行 儲存介質的變化 雲的普及 這樣的變化數不勝數。在這樣日新月異的時代中,演算法 是不變的重要基石。要編寫高效率的程式,就需要優化演算法。無論開發工具如何進化,熟識並能靈活運用演算法仍然是對程式設計師...