在本教程中,我们将学习拉丁方。
拉丁方是一个矩阵 (3 x 3),形式为
1 2 3 3 1 2 2 3 1
如果你仔细观察上面矩阵的模式,那么你会发现前一行的最后一个数字是下一行的第一个元素。
我们必须编写程序为输入 n 生成上述矩阵。
让我们看看编写生成拉丁方的程序的步骤。
用您喜欢的任何数字初始化 n。
用值 n + 1 初始化一个数字,称其为 mid。
编写一个循环,从 1 到 n 都包含在内。
打印值。
打印温度。
将 mid 的值分配给临时变量。
编写一个循环,直到 temp 达到值 n。
编写一个从 1 到 mid 迭代的循环
将 mid 的值减 1。
让我们看看代码。
#include <bits/stdc++.h> using namespace std; void generateLatinSquare(int n) { int mid = n + 1; for (int i = 1; i <= n; i++) { int temp = mid; while (temp <= n) { cout << temp << " "; temp++; } for (int j = 1; j < mid; j++) { cout << j << " "; } mid--; cout << endl; } } int main(void) { generateLatinSquare(2); cout << endl; generateLatinSquare(3); cout << endl; generateLatinSquare(4); cout << endl; return 0; }
如果你运行上面的代码,那么你会得到下面的结果。
1 2 2 1 1 2 3 3 1 2 2 3 1 1 2 3 4 4 1 2 3 3 4 1 2 2 3 4 1
如果您对本教程有任何疑问,请在评论部分提及。