私は数論の大ファンです。数論の大きなことはモジュラー算術です。m \ mid abの場合にのみ、定義はなります。楽しいことは、累乗することです。特に、モジュラスが素数の場合です。特に、aとmが比較的素数(1以外の共通因子を共有しない)の場合、a ^ e \ equiv 1 \ mod mのような数eが存在することが証明されています。M 1 E A E ≡ 1
例題で演習を説明します。モジュラス取りましょう。プログラムまたは関数の可能な出力は次のとおりです。
3 2 6 4 5 1
2 4 1 2 4 1
6 1 6 1 6 1
4 2 1 4 2 1
5 4 6 2 3 1
1 1 1 1 1 1
各行は、その行の最初の数のべき乗のリストです。最初の行は。これは、と同等です。 、1モジュロ。上の正方形の2行目はのべき乗などで、最後の行まではべき乗です。
これは、次の理由から魔法のモジュロ正方形です。
- 正方形は対称です。つまり、番目の列は番目の行と同じです。
- すべての値はに少なくとも一度表示されます。
以下は、5の累乗で始まる、その他の有効な出力です。
5 4 6 2 3 1
4 2 1 4 2 1
6 1 6 1 6 1
2 4 1 2 4 1
3 2 6 4 5 1
1 1 1 1 1 1
チャレンジ
各行が行の最初の要素の連続するべき乗のリストであり、列についても同じになるp
ように、素数を与えられた魔法のモジュロ正方形、つまり辺の長さの正方形を出力する関数またはプログラムを作成p-1
します。0
との間のすべての数字がp
発生する必要があり、正方形にはその範囲の数字のみを含めることができます。
入力は数値または文字列で、出力はascii、行列、配列の配列(任意の妥当な形式)です。
これはコードゴルフなので、最短のコードが優先されます。