Generator Kotak Ajaib
Buat kotak ajaib berukuran ganjil apa pun (3×3 hingga 11×11).
Tentang alat ini
Persegi ajaib adalah bagian klasik dari matematika rekreasional: kisi persegi yang diisi dengan angka-angka berbeda yang disusun sedemikian rupa sehingga setiap baris, kolom, dan diagonal berjumlah sama, yang dikenal sebagai konstanta ajaib. Generator ini langsung membangun persegi ajaib yang valid untuk orde ganjil berapa pun, sehingga Anda terhindar dari coba-coba menyusunnya secara manual.
Cukup pilih ukuran ganjil dari 3x3 hingga 11x11 dan hasilkan perseginya; setiap baris, kolom, dan diagonal utama akan berjumlah persis sama. Alat ini berguna untuk mengajarkan pola bilangan, merancang teka-teki, menjelajahi matematika rekreasional, atau menguji latihan pemrograman.
Sebagai tips, persegi ajaib berorde ganjil dibangun dengan metode Siam, dan konstanta ajaib bertambah secara konsisten seiring membesarnya ukuran. Semuanya berjalan secara lokal di peramban Anda, sehingga tidak ada data yang keluar dari perangkat Anda.
Pertanyaan yang Sering Diajukan
Implementasi Kode
def generate_odd_magic_square(n):
"""Siamese (De la Loubère) method for odd n."""
grid = [[0] * n for _ in range(n)]
row, col = 0, n // 2
for num in range(1, n * n + 1):
grid[row][col] = num
next_row = (row - 1) % n
next_col = (col + 1) % n
if grid[next_row][next_col] != 0:
row = (row + 1) % n
else:
row, col = next_row, next_col
return grid
def magic_constant(n):
return n * (n * n + 1) // 2
for n in [3, 5]:
sq = generate_odd_magic_square(n)
print(f"\n{n}x{n} Magic Square (constant={magic_constant(n)}):")
for row in sq:
print(" ".join(f"{v:3}" for v in row))Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.