题目
tips:
1.本题不要求正三角形输出,只要输出左下三角即可
2.这种输入三角形的,都是可以理解为左下三角形的模型,然后去写f[i][j]=f[i-1][j]+f[i-1][j+1],写行列
3.还有双重for循环输入输出三角形,注意第二层for是j<=i要考虑到
答案
#include <iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int f[10][10];
void print()
{
for (int i = 1; i < 10; i++)
{
for (int j = 1; j <= i; j++)
{
if (j)
{
cout << " ";
}
cout << f[i][j];
}
cout << endl;
}
}
int main()
{
int n; cin >> n;
while (n--)
{
for (int i = 1; i < 10; i+=2)
{
for (int j = 1; j <=i ; j+=2)
{
cin >> f[i][j];
}
}
for (int i = 9; i > 2; i-=2)
{
for (int j = 2; j < i; j+=2)
{
f[i][j] = (f[i - 2][j-1] - f[i][j - 1] - f[i][j + 1]) / 2.0;
}
}
for (int i = 8; i > 1; i-=2)
{
for (int j = 1; j <=i ; j++)
{
f[i][j] = f[i + 1][j] + f[i + 1][j + 1];
}
}
print();
}
return 0;
}