该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
using namespace std;
int main()
{
int n,i;
cin>>n;
int **p=new int *[n+1];
for(i=0;i<=n;i++)
{
p[i]=new int [n+1];
}
p[1][1]=p[2][2]=1;
p[1][2]=p[2][1]=2;
i=4;
while(i<=n)
{
for(int j=i/2+1;j<=i;j++) //制作左下角表格
{
for(int k=1;k<=i/2;k++)
{
p[j][k]=p[j-i/2][k]+i/2;
}
}
for(int j=1;j<=i;j++) //制作左上角表格
{
for(int k=i/2+1;k<=i;k++)
{
p[j][k]=p[j+i/2][k-i/2];
}
}
for(int j=i/2+1;j<=i;j++) //制作右下角表格
{
for(int k=i/2+1;k<=i;k++)
{
p[j][k]=p[j-i/2][k-i/2];
}
}
i*=2;
}
for(i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<
}
cout<
}
}