美文网首页
拉丁方阵问题 -- python实现

拉丁方阵问题 -- python实现

作者: 雷子_ | 来源:发表于2019-12-20 11:06 被阅读0次

问题描述

拉丁方阵是一种n×n的方阵,方阵中恰有n种不同的元素,每种元素恰有n个,而且每种元素在一行和一列中 恰好出现一次。著名数学家和物理学家欧拉使用拉丁字母来作为拉丁方阵里元素的符号,拉丁方阵因此而得名。
比如:
1 2 3
2 3 1
3 1 2
问题:怎样构造N阶拉丁方阵?

列表

def solution_list(n):
    for y in range(n):
        for x in range(n):
            num = (y + x) % n + 1
            print(f'{num} ', end='')
        print('\n')

单循环链表

class Node:
    """节点"""

    def __init__(self, value):
        self.data = value
        self.next = None

    def __repr__(self):
        return f'Node: {self.data}'


class CircularLinkedList:
    """单循环链表"""
    def __init__(self):
        self.rear = None    # 尾节点

    def append(self, elem):
        """尾插法"""
        temp = Node(elem)
        if self.rear is None:
            temp.next = temp
            self.rear = temp
        else:
            temp.next = self.rear.next
            self.rear.next = temp
            self.rear = temp


def solution_circular_linked_list(n):
    clist = CircularLinkedList()
    for i in range(1, n + 1):
        clist.append(i)

    cur = clist.rear
    while cur.next is not clist.rear:
        cur = cur.next
        temp = cur
        for _ in range(n):
            print(f'{temp.data} ', end='')
            temp = temp.next
        print('\n')

相关文章

  • 拉丁方阵问题 -- python实现

    问题描述 拉丁方阵是一种n×n的方阵,方阵中恰有n种不同的元素,每种元素恰有n个,而且每种元素在一行和一列中 恰好...

  • 拉丁方阵问题

    一个N*N的矩阵,任何一个元素在同一行或同一列都只出现一次:1 2 32 3 13 1 2 解法 每一行除了开始的...

  • 拉丁方阵

    拉丁方阵是一种n×n的方阵,方阵中恰有n种不同的元素,每种元素恰有n个,并且每种元素在一行和一列中 恰好出现一次。...

  • 方阵问题

    一、问题描述 方阵就是正方形队列,行列数相同,比如5×5方阵就表示5行5列的正方形队列。 方阵问题最常见的就是求最...

  • 3-16方阵问题

    从植树问题,我们扩展到了方阵的问题。 方阵问题是很重要的数形结合应用。 方阵有实心和空心两种,实心方阵暂时放下,那...

  • C语言代码输出一个“魔方阵”

    C语言代码输出一个“魔方阵” 算法实现: 本程序要输出魔方阵,魔方阵如下: 1) #include #define...

  • 2018-06-29

    python实现文本分类 - CSDN博客; 根据这个实现分类吧; 编码问题真的很烦;彻底搞懂Python的字符编...

  • 利用python tkinter库实现GUI方阵计算器

    学习了tkinter后一直想做一个东西,就尝试了方阵计算器 实现代码 效果图 1.输入是几阶方阵的窗口: 2.我输...

  • 约瑟夫问题 -- python实现

    问题描述 N个人围成一个圈, 从第一个人开始报数, 报到M的人出圈, 剩下的人继续从1开始报数, 报到M的人出圈;...

  • python实现topK问题

网友评论

      本文标题:拉丁方阵问题 -- python实现

      本文链接:https://www.haomeiwen.com/subject/ebbbnctx.html