2017/Province_Java_B/3/承压计算
生活随笔
收集整理的這篇文章主要介紹了
2017/Province_Java_B/3/承压计算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
承壓計算
X星球的高科技實驗室中整齊地堆放著某批珍貴金屬原料。
每塊金屬原料的外形、尺寸完全一致,但重量不同。
金屬材料被嚴格地堆放成金字塔形。
其中的數字代表金屬塊的重量(計量單位較大)。
最下一層的X代表30臺極高精度的電子秤。
假設每塊原料的重量都十分精確地平均落在下方的兩個金屬塊上,
最后,所有的金屬塊的重量都嚴格精確地平分落在最底層的電子秤上。
電子秤的計量單位很小,所以顯示的數字很大。
工作人員發現,其中讀數最小的電子秤的示數為:2086458231
請你推算出:讀數最大的電子秤的示數為多少?
注意:需要提交的是一個整數,不要填寫任何多余的內容。
Ideas
這題啥也沒有,就是把上一層的重量均勻的加到下一層,最后做個轉換就可以了。
代碼
C++
#include <iostream> #include <cstdlib> #include <algorithm> #include <cstdio> using namespace std; double num[30][30]={ {7,0}, {5,8,0}, {7,8,8,0}, {9,2,7,2,0}, {8,1,4,9,1,0}, {8,1,8,8,4,1,0}, {7,9,6,1,4,5,4,0}, {5,6,5,5,6,9,5,6,0}, {5,5,4,7,9,3,5,5,1,0}, {7,5,7,9,7,4,7,3,3,1,0}, {4,6,4,5,5,8,8,3,2,4,3,0}, {1,1,3,3,1,6,6,5,5,4,4,2,0}, {9,9,9,2,1,9,1,9,2,9,5,7,9,0}, {4,3,3,7,7,9,3,6,1,3,8,8,3,7,0}, {3,6,8,1,5,3,9,5,8,3,8,1,8,3,3,0}, {8,3,2,3,3,5,5,8,5,4,2,8,6,7,6,9,0}, {8,1,8,1,8,4,6,2,2,1,7,9,4,2,3,3,4,0}, {2,8,4,2,2,9,9,2,8,3,4,9,6,3,9,4,6,9,0}, {7,9,7,4,9,7,6,6,2,8,9,4,1,8,1,7,2,1,6,0}, {9,2,8,6,4,2,7,9,5,4,1,2,5,1,7,3,9,8,3,3,0}, {5,2,1,6,7,9,3,2,8,9,5,5,6,6,6,2,1,8,7,9,9,0}, {6,7,1,8,8,7,5,3,6,5,4,7,3,4,6,7,8,1,3,2,7,4,0}, {2,2,6,3,5,3,4,9,2,4,5,7,6,6,3,2,7,2,4,8,5,5,4,0}, {7,4,4,5,8,3,3,8,1,8,6,3,2,1,6,2,6,4,6,3,8,2,9,6,0}, {1,2,4,1,3,3,5,3,4,9,6,3,8,6,5,9,1,5,3,2,6,8,8,5,3,0}, {2,2,7,9,3,3,2,8,6,9,8,4,4,9,5,8,2,6,3,4,8,4,9,3,8,8,0}, {7,7,7,9,7,5,2,7,9,2,5,1,9,2,6,5,3,9,3,5,7,3,5,4,2,8,9,0}, {7,7,6,6,8,7,5,5,8,2,4,7,7,4,7,2,6,9,2,1,8,2,9,8,5,7,3,6,0}, {5,9,4,5,5,7,5,5,6,3,5,3,9,5,8,9,5,4,1,2,6,1,4,3,5,3,2,4,1,0}, }; int main() {for (int i = 0; i < 29; ++i) {for (int j = 0; j <= i; ++j) {double x=num[i][j]/2;num[i+1][j]+=x;num[i+1][j+1]+=x; // cout<<num[i][j];} // cout<<endl;}double min=num[29][0],max=num[29][0];for (int k = 0; k < 30; ++k) {if (num[29][k]>max) max=num[29][k];if (num[29][k]<min) min=num[29][k]; // cout<<num[29][k]<<' '<<endl;}printf("%.2lf",2086458231/min*max); // cout<<2086458231/min*max<<endl;return 0; }//72665192664.00Python
if __name__ == '__main__':weights = [[7],[5, 8],[7, 8, 8],[9, 2, 7, 2],[8, 1, 4, 9, 1],[8, 1, 8, 8, 4, 1],[7, 9, 6, 1, 4, 5, 4],[5, 6, 5, 5, 6, 9, 5, 6],[5, 5, 4, 7, 9, 3, 5, 5, 1],[7, 5, 7, 9, 7, 4, 7, 3, 3, 1],[4, 6, 4, 5, 5, 8, 8, 3, 2, 4, 3],[1, 1, 3, 3, 1, 6, 6, 5, 5, 4, 4, 2],[9, 9, 9, 2, 1, 9, 1, 9, 2, 9, 5, 7, 9],[4, 3, 3, 7, 7, 9, 3, 6, 1, 3, 8, 8, 3, 7],[3, 6, 8, 1, 5, 3, 9, 5, 8, 3, 8, 1, 8, 3, 3],[8, 3, 2, 3, 3, 5, 5, 8, 5, 4, 2, 8, 6, 7, 6, 9],[8, 1, 8, 1, 8, 4, 6, 2, 2, 1, 7, 9, 4, 2, 3, 3, 4],[2, 8, 4, 2, 2, 9, 9, 2, 8, 3, 4, 9, 6, 3, 9, 4, 6, 9],[7, 9, 7, 4, 9, 7, 6, 6, 2, 8, 9, 4, 1, 8, 1, 7, 2, 1, 6],[9, 2, 8, 6, 4, 2, 7, 9, 5, 4, 1, 2, 5, 1, 7, 3, 9, 8, 3, 3],[5, 2, 1, 6, 7, 9, 3, 2, 8, 9, 5, 5, 6, 6, 6, 2, 1, 8, 7, 9, 9],[6, 7, 1, 8, 8, 7, 5, 3, 6, 5, 4, 7, 3, 4, 6, 7, 8, 1, 3, 2, 7, 4],[2, 2, 6, 3, 5, 3, 4, 9, 2, 4, 5, 7, 6, 6, 3, 2, 7, 2, 4, 8, 5, 5, 4],[7, 4, 4, 5, 8, 3, 3, 8, 1, 8, 6, 3, 2, 1, 6, 2, 6, 4, 6, 3, 8, 2, 9, 6],[1, 2, 4, 1, 3, 3, 5, 3, 4, 9, 6, 3, 8, 6, 5, 9, 1, 5, 3, 2, 6, 8, 8, 5, 3],[2, 2, 7, 9, 3, 3, 2, 8, 6, 9, 8, 4, 4, 9, 5, 8, 2, 6, 3, 4, 8, 4, 9, 3, 8, 8],[7, 7, 7, 9, 7, 5, 2, 7, 9, 2, 5, 1, 9, 2, 6, 5, 3, 9, 3, 5, 7, 3, 5, 4, 2, 8, 9],[7, 7, 6, 6, 8, 7, 5, 5, 8, 2, 4, 7, 7, 4, 7, 2, 6, 9, 2, 1, 8, 2, 9, 8, 5, 7, 3, 6],[5, 9, 4, 5, 5, 7, 5, 5, 6, 3, 5, 3, 9, 5, 8, 9, 5, 4, 1, 2, 6, 1, 4, 3, 5, 3, 2, 4, 1],[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],]for i in range(len(weights) - 1):for j in range(len(weights[i])):weights[i + 1][j] += weights[i][j] / 2weights[i + 1][j + 1] += weights[i][j] / 2minNum, maxNum = min(weights[-1]), max(weights[-1])print(maxNum * 2086458231 / minNum) 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的2017/Province_Java_B/3/承压计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017第八届蓝桥杯C/C++ B组省赛
- 下一篇: 2018第九届蓝桥杯C/C++ B国赛