X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。
每块金属原料的外形、尺寸完全一致,但重量不同。 金属材料被严格地堆放成金字塔形。
758788927281491818841796145456556956554793551757974733146455883243113316655442999219192957943377936138837368153958381833832335585428676981818462217942334284229928349639469797497662894181721692864279541251739833521679328955666218799671887536547346781327422635349245766327248554744583381863216264638296124133534963865915326885322793328698449582634849388777975279251926539357354289776687558247747269218298573659455755635395895412614353241
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
其中的数字代表金属块的重量(计量单位较大)。 最下一层的X代表30台极高精度的电子秤。
假设每块原料的重量都十分精确地平均落在下方的两个金属块上, 最后,所有的金属块的重量都严格精确地平分落在最底层的电子秤上。 电子秤的计量单位很小,所以显示的数字很大。
工作人员发现,其中读数最小的电子秤的示数为:2086458231
请你推算出:读数最大的电子秤的示数为多少?
输入格式:
无
输出格式:
输出一个整数,表示最大的电子秤示数
输入样例:
无
输出样例:
无
#include<stdio.h>
int main(){
int a[100][100]={0},i,j;
for(i=0;i<29;i++){
for(j=0;j<i+1;j++){
scanf("%d",&a[i][j]);}}
for(i=0;i<29;i++){
for(j=0;j<i+1;j++){
a[i+1][j]+=a[i][j]/2;
a[i+1][j+1]+=a[i][j]/2;}}
//第29行表示的就是最下面的高精度计算机;
int minn =99999,maxx=-99999;
for(i=0;i<29;i++){
if(a[29][i]>=maxx){
maxx = a[29][i];}
if(a[29][i]<=minn){minn= a[29][i];}}
//根据比例公式得出,题中已经给出最小值,现已在高精度电子秤当中,求出最大值maxx和最小值minn;
//根据比例公式得出,2086458231/x = minn/maxx;
//x =2086458231*maxx/minn;
printf("%.0lf",2086458231*maxx*1.0/minn);return0;}