你沒做一道題目都需要記錄吸收,要不然你所花費的時間精力就都是白搭!
【問題描述】
x星球的高科技實驗室中整齊地堆放著某批珍***原料。
每塊金屬原料的外形、尺寸完全一致,但重量不同。
金屬材料被嚴格地堆放成金字塔形。
其中的數字代表金屬塊的重量(計量單位較大)。
最下一層的x代表30台極高精度的電子秤。
假設每塊原料的重量都十分精確地平均落在下方的兩個金屬塊上,
最後,所有的金屬塊的重量都嚴格精確地平分落在最底層的電子秤上。
電子秤的計量單位很小,所以顯示的數字很大。
工作人員發現,其中讀數最小的電子秤的示數為:2086458231
請你推算出:讀數最大的電子秤的示數為多少?
注意:需要提交的是乙個整數,不要填寫任何多餘的內容。
【問題分析】
問題乍一看很難,我拿的題目直接跳過了,放了兩三天才回頭來做。害怕困難永遠比困難本身更可怕!問題其實很簡單,就是將當前金屬塊的重量平分給下面的兩個金屬塊,從上往下處理,最終就可以得到最後一行30個電子秤上盛放的重量。找出最大最小值,在按照比例換算就可以得到最終的最大示數。(因為單位不一樣,所以電子秤所顯示的示數,並不是初始時的重量,要注意)
但問題的關鍵不在這裡,資料實在太多了,看得我眼花,這麼多資料我怎麼去處理。
很顯然在這裡我們需要利用二維陣列來存放這些資料。
一共有30行,最大有60列,所以我們初始化乙個30維60列的二維陣列來存放他。
不難發現:
29行從下標0開始,一共有30個金屬塊
28行從下標1開始,一共有29個金屬塊
27行從下標2開始,一共有28個金屬塊
1行從下標28開始,一共有2個金屬塊
0行從下標29開始,一共有1個金屬塊
每一行的每乙個金屬塊下標相差2
知道這些必要的規律,我們就可以通過讀檔案的方式,初始化指定位置的資料。
後面自然水到渠成,從上往下,找到存放金屬塊的位置,把它的重量平分到下面兩個金屬塊。
最終可以得到最後一行30個電子秤上所承受的重量!!!
再按比例,求出示數!**如下
#include #include #include #include #include using namespace std;
double a[30][60];
int main()
int temp;
//---------------【讀檔案初始化陣列 】------------------
for(int i=0;i<29;i++)
} //-----------【將重量平均分配給下面的物品】---------------
for(int i=0;i<=28;i++)else if(b[i]當數值很大時,系統會預設使用科學計數法來顯示,看不出直觀的結果
我們可以在輸出的前一行加上——cout.setf(ios::fixed,ios::floatfield);
最終結果為72665192664
藍橋杯 真題演練 路徑計數(C dfs)
從乙個 5x5 的方格矩陣的左上角出發,沿著方格的邊走,滿足以下條件的 路線有多少種?總長度不超過 12 最後回到左上角 路線不自交 不走出 5x5 的方格矩陣範圍之外。如下圖所示,abc 是三種合法的路線。注意 b 和 c 由於方向不同,所以 視為不同的路線。因為一次只走一格,因此只要不走重複的點...
藍橋杯真題 2020藍橋杯真題 跑步鍛鍊
小藍每天都鍛鍊身體。正常情況下,小藍每天跑 1 千公尺。如果某天是周一或者月初 1 日 為了激勵自己,小藍要跑 2 千公尺。如果同時是周一或月初,小藍也是跑 2 千公尺。小藍跑步已經堅持了很長時間,從 2000 年 1 月 1 日週六 含 到 2020 年10 月 1 日周四 含 請問這段時間小藍總...
藍橋杯真題訓練 2019 2題
2019第二題 小明用字母 a 對應數字 1,b 對應 2,以此類推,用 z 對應 26。對於 27 以上的數字,小明用兩位或更長位的字串來對應,例如 aa 對應 27,ab 對 應 28,az 對應 52,lq 對應 329。請問 2019 對應的字串是什麼?答案提交 這是一道結果填空的題,你只需...