原论文:
复现其中的:
#include <bits/stdc++.h>
using namespace std;
int H=5,Z=3;
double data[15][10000];
double a[15];
int tot[15];
void work(int sumH,int sumZ,int nowH,int nowZ,double nowLength) {
cout<<"SUMH="<<sumH<<sumZ<<nowH<<nowZ<<nowLength<<endl;
//现在是第nowZ层
if (nowZ==sumZ) {
tot[nowZ]++;
data[nowZ][tot[nowZ]]=nowLength;
return;
}
int lengt = tot[nowZ];
double zhj = a[nowZ]; //zhongjianzhi
int a=1,s=0;
//有nowH列
for (int i=1; i<=nowH/2+1; ++i) {
s+=a;
a++;
}
int tmplen;
double l=zhj/s;
for (int i=nowH/2+1; i>=1; --i) {
double tmp=(nowH/2+1+1-i)*l;
if (i==nowH/2+1)
data[nowZ][i + lengt] = zhj - tmp;
else
data[nowZ][i + lengt