#include <iostream>
using namespace std;
int ST[100][100]={{1}};
int n;
void print()
{
for(int i=0;i<n;++i)
{
for(int t=0;t<n;++t)
cout<<ST[i][t]<<" ";
cout<<'\n';
}
system("pause");
}
void build_sheet(int A,int B,int step)
{
if(step==1)
return ;
int helf = step/2;
// 每个表格的左上角赋值
// 左上子表格等于右下子表格,右上子表格等于左下子表格
// 右上子表格等于左上子表格加上子表格大小
ST[A+helf][B+helf]=ST[A][B];
ST[A+helf][B] = ST[A][B+helf]=ST[A][B]+helf;
build_sheet(A,B,helf);
build_sheet(A,B+helf,helf);
build_sheet(A+helf,B,helf);
build_sheet(A+helf,B+helf,helf);
}
int main()
{
cin>>n;
build_sheet(0,0,n);
print();
system("pause");
}
循环日程表问题
最新推荐文章于 2023-04-22 15:48:31 发布