由乙個小學五年級暑假作業想到的演算法問題

2021-04-08 23:38:18 字數 770 閱讀 3695

題目:

從9到1 9個數, 相鄰的兩個數可以連在一起, 只使用加 和 減號連線, 使這些函式加起來的總和等於100; 例如 98 + 7 - 6 + 5 - 4 + 3 - 2 - 1 = 100.

當然 可以由98 76 等等多過兩位數, 本來是找幾種, 要問的是看有多少種這樣的組合? 大家怎麼寫**啊?

演算法:呵呵,

我的思路:

1)定義類似字串"9*8*7*6*5*4*3*2*1",其中'*'為'+'、'-'、'|'之一,'|'是佔位符,無意義。

3)群舉8個'+'、'-'、'|'的排列。

2)將字串中的'|'去掉。

3)計算字串。

將原題轉換為僅有+-運算的字串的計算。

**:我也貼乙個,說下方法

將1~3^8對映成運算子序列。

#include

#include

#include

using namespace std;

string build_expr(const string& expr, int ops)

}return ret;

}int compute(const string& expr)

if (!isdigit(expr[i]) || i == sz - 1)

else

right = 0;

op = expr[i];}}

return ret;

}int main(void)

}return 0;

}

由乙個小學五年級暑假作業想到的演算法問題

從9到1 9個數,相鄰的兩個數可以連在一起,只使用加 和 減號連線,使這些函式加起來的總和等於100 例如 98 7 6 5 4 3 2 1 100.當然 可以由98 76 等等多過兩位數,本來是找幾種,要問的是看有多少種這樣的組合?大家怎麼寫 啊?krh2001 邊城浪子 include int ...

白楊 袁鷹 五年級下冊課文

火車窗外是茫茫的大戈壁,沒有山,沒有水,也沒有人煙。天和地的界限也並不那麼清晰,都是渾黃一體。從哪兒看得出列車在前進呢?那就是沿著鐵路線的一行白楊樹。每隔幾秒鐘,窗外就飛快地閃過乙個高大挺秀的身影。一位旅客正望著這些戈壁灘上的衛士出神。爸爸,大孩子搖著他的腿,你看那樹多高!爸爸並沒有從沉思中回過頭來...

一道小學五年級的數學題引發的一些思考

表弟暑假在我家做作業,問我一道題 學學習 學習進 學習進步 2 0 0 1 四個字各代表乙個0 9的數字,問 學習進步 代表多少。我很驚訝在小學作業中就出現這種題,這道題即使在現在的大學演算法課上也會作為一道智力題來考大家,很多人都答不上來 因為這道題需要很強的邏輯思維能力。這道題的答案是1802。...