Skip to content
Snippets Groups Projects
Commit 3d27d1f6 authored by JangHyeongJun's avatar JangHyeongJun
Browse files

update

parents 3069a3fa 4352b92d
Branches
No related tags found
No related merge requests found
Pipeline #4900 canceled
<<<<<<< HEAD
#This is For Final Assignment for 창의소프트웨어입문(F031-1)
##magic_3x3.py
##magic_4x4.py
##magic_5x5.py
##magix_nxn.py
##multi_magix_4x4.py 로 구성되어있습니다.
###
magic_3x3.py에서는 사용자는 3x3 마방진을 만들 수 있습니다.
계산복잡도는 O(n^n)입니다.
실행하고나면 9개의 숫자를 입력하라는 출력문구가 나오며, 숫자를 입력하면 그 숫자들로 만들 수 있는 마방진이 one2nine.txt 파일에 저장되고, stderr에 총 계산시간과, 몇개의 답을 찾았는지 출력하고 종료합니다.
magic_4x4.py에서는 사용자는 4x4 마방진을 만들 수 있습니다.
계산복잡도는 O(n^n)입니다.
실행하고나면 16개의 숫자를 입력하라는 출력문구가 나오며, 숫자를 입력하면 그 숫자들로 만들 수 있는 마방진이 4x4.txt 파일에 저장되고, stderr에 총 계산시간과, 몇개의 답을 찾았는지 출력하고 종료합니다.
부가적으로 사분면의 계산을 위한 함수외에 실제 마방진(사분면에 대한 계산 없이 마방진을 만듦)을 만들긴 했다만, 사분면마방진에 포함되는 내용이라 따로 출력양식을 만들어놓지 않았습니다.
만약 1~16까지의 입력을 한다면 예상 출력답은 3456개이며, 계산시간은 제 컴퓨터 기준 66.91초 입니다.
magic_5x5.py
숫자가 늘어남에따라 기하급수적으로 증가하므로 기존의 방법으로는 너무 오랜시간이 들었습니다.
그리하여 만약 input이 연속된 숫자이고, 중복이 존재하지않는 경우를 가정하고 만들었던 5*5마방진입니다.
4x4마방진으로 바뀌기 전에 이미 작성하였는데 삭제하기 아까워서 함께 제출합니다.
만약 연속된 25개의 숫자로 만들 수 있는 마방진은 과연 몇개가 있을까 고민해보았습니다.
그 결과 하나를 만들어놓고 90도회전 4번, 원점대칭 1번으로 8개를 만드는것이 가장 쉬웠기에
일단은 8개를 만들어놓고 더 만들떄의 케이스를 생각중이었습니다.
magix_nxn.py
실패입니다.
multi_magix_4x4.py
파이썬은 단일 쓰레드를 사용합니다. 만약 멀티프로세싱을 이용하면 연산속도가 얼마나 빨라질 수 있을까 고민하며 만들어보려합니다. 아직 미완성입니다.
test_nxn.py
magic_3x3.py와 magic_4x4.py 의 결과 text파일을 이용합니다.
먼저 두개의 파이썬을 실행 완료한 후, 어떤것을 테스트할지 입력합니다.
1을 입력하면 magic_3x3.py의 결과를 테스트합니다.
2를 입력하면 magic_4x4.py의 결과를 테스트합니다.
=======
# magic_square
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment