java藍橋杯 24點問題

2021-08-16 12:09:24 字數 637 閱讀 4190

問題:

給出a, b, c, d四個數且1<=a, b, c, d<=10;

對這四個數使用加減乘除運算,判斷這四個數的能否等於24;

能的話輸出表示式(可能有多個表示式)

例如輸入

2 2 2 3

輸出2*2*2*3(或其他表示式)

**如下:

public class main

public static void shuffle(string data) {

for(int i=0; i這道題的思路是先建立乙個buf陣列,長度為7,前四個元素是隨機輸入的四個數字,

後三個利用隨機數從「+」,「-」,「*」,「/「 四個符號中選擇三個,然後將他們進行組合,

因此這是通過多次模擬去尋找正確答案。這個方法次數越多越管用。

shuffle函式把buf陣列中的元素隨機的兩兩交換,打亂裡面的順序。jisuan函式來判斷

四個數字的組合能否滿足等於24的要求。這裡使用了中綴表示式的知識。通過棧每次

彈出兩個數字,運算得到結果後再壓入棧中。為了將整個表示式視覺化出來,又寫了

乙個show方法。每次壓入棧中的不是計算結果,而是計算公式。

要注意的是異常的使用,jisuan函式中當棧為空時再pop會報異常,因此需要處理。

java藍橋杯 取球問題

問題 今盒子裡有n個小球,a b兩人輪流從盒中取球,每個人都可以看到另乙個人取了多少個,也可以看到盒中還剩下多少個,並且兩人都很聰明,不會做出錯誤的判斷。我們約定 每個人從盒子中取出的球的數目必須是 1,3,7或者8個。輪到某一方取球時不能棄權!a先取球,然後雙方交替取球,直到取完。被迫拿到最後乙個...

藍橋杯知識點

藍橋杯省賽知識點 1 c stl 常見演算法 2 c 輸入輸出 包括流 檔案 3 c 常用泛型 list vector stack map 4 暴力窮舉 5 遞迴 6 全排列 next permutation 康托展開式 7 回溯 8 dfs bfs hash表 9 數學上的有 輾轉相除 兩行內 素...

java 藍橋杯 趣味算式

匪警請撥110,即使手機欠費也可撥通!為了保障社會秩序,保護人民群眾生命財產安全,警察叔叔需要與罪犯鬥智鬥勇,因而需要經常性地進行體力訓練和智力訓練!某批警察叔叔正在進行智力訓練 1 2 3 4 5 6 7 8 9 110 請看上邊的算式,為了使等式成立,需要在數字間填入加號或者減號 可以不填,但不...