C++中的拉丁方阵

在本教程中,我们将学习拉丁方。

拉丁方是一个矩阵 (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

    结论

    如果您对本教程有任何疑问,请在评论部分提及。