# Sudoku **Repository Path**: monkeyhbd/sudoku ## Basic Information - **Project Name**: Sudoku - **Description**: Sudoku algorithm implement by Python, C, Java ... - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-09-18 - **Last Updated**: 2022-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README This repository includes 3 source codes of the program which can solve sudoku question and output by CLI/GUI. The Program will receive sudoku line by line, then solution them, then output. The small block in sudoku puzzle will be stored in the program as array(C) or list(Python). In Python program, the small block stored as list. Such as [8]. The number in list means the un-excluded number. The list [8] has only one element, which means this small block is known. The list [5, 6, 8] has three elements, which means this small block is un-known. The empty list [] means some error has happened. In C program, the small block stored as array. Such as {0, 0, 0, 0, 0, 0, 0, 1, 0}. 0 / 1 in the array means the corresponding number is excluded / un-excluded. The array {0, 0, 0, 0, 0, 0, 0, 1, 0} include only one 1, which means this small block is known(8). The array {0, 0, 0, 0, 1, 1, 0, 1, 0} include three 1, which means these small block is unknown(5, 6, 8). The array {0, 0, 0, 0, 0, 0, 0, 0, 0} include zero 1, which means some error has happened. Both of C and Python, the procedure of solution has 2 steps. First, it will exclude the number in unknown small block according to the number in the known small block which in the same line or block. These will simplify the sudoku for the next step. Second, it will enumerate the un-excluded number in unknown small block until finding the correct solution. The recursive enumeration function will check(pruning algorithm) the sudoku's known small block when a new number filled in an unknown small block. This will save time. Sudoku.c is a CLI program written by C. It inspired by Sudoku.py. Sudoku.py is a CLI program written by Python3. SudokuGUI.py is a GUI program written by Python3. It uses Python's built-in module tkinter to display. This project follows GNU General Public License V2.0. Note: The "mokeyhbd" logo belongs to Monkeyhbd.