Lewati ke konten
🛠️ToolsShed

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.