传送门
#include<bits/stdc++.h>
using namespace std;
double a[40][40];
int main()
{
int i,j,k,m,n;
for(i=1; i<=29; i++)
{
for(j=1; j<=i; j++)
scanf("%lf",&a[i][j]);
}
for(i=1; i<=30; i++)
{
for(j=1; j<=i; j++)
{
if(i==1)
a[i][j]+=a[i-1][j]/2;
else if(i==j)
a[i][j]+=(a[i-1][j-1]/2);
else
{
a[i][j]+=(a[i-1][j]/2+a[i-1][j-1]/2);
}
}
}
double maxx=0,minn=0x3f3f3f3f;
for(j=1; j<=30; j++)
{
if(a[30][j]<minn)
minn=a[30][j];
if(a[30][j]>maxx)
maxx=a[30][j];
}
cout<<minn<<endl;
cout<<maxx<<endl;
long long w=2086458231/minn;
printf("%lf\n",w*maxx);
return 0;
}
答案等于 放大的比例 乘以最大值 setprecision(x) 这个东西 表示设置输出的小数的小数点后显示几位,比如setprecision(2)表示小数点后显示两位
|