#include <iostream>
#include <iomanip>
constexpr size_t count = 8;
size_t table[count][count];
void copy_table(int ro, int rp, int co, int cp, int size)
{
for (size_t i = 0; i < size; i++)
{
for (size_t j = 0; j < size; j++)
{
table[i + rp][j + cp] = table[i + ro][j + co];
}
}
}
void init_table()
{
for (size_t i = 0; i < count; i++)
{
table[0][i] = i + 1;
}
}
void fill_table(int r, int c, int size)
{
if (size == 1)
{
return;
}
int s = size / 2;
fill_table(r, c, s);
fill_table(r, c + s, s);
copy_table(r, r + s, c, c + s, s);
copy_table(r, r + s, c + s, c, s);
}
void print_table()
{
for (size_t i = 0; i < count; i++)
{
for (size_t j = 0; j < count; j++)
{
std::cout << std::setw(4) << table[i][j];
}
std::cout << std::endl;
}
std::cout << std::endl;
}
int main()
{
init_table();
fill_table(0, 0, count);
print_table();
}
![](https://img.haomeiwen.com/i14991910/30a5d177ee046356.png)
image.png
网友评论