イントロ
私がレクリエーション数学で遊んだのは、数値の素数の除数を視覚的に比較/対比するための除数テーブルの構築です。入力番号のセットは列ラベルとして上部にあり、素数は行ラベルとして左側にあり、マークは2つの行の位置を示します。
たとえば、入力の場合、6, 9, 14, 22
次のような表が作成されます。
6 9 14 22
2 * * *
3 * *
7 *
11 *
これは、ある6
の素因子を持っている2
と3
、9
の素因子を持っている3
ように、と。
建設
- テーブルは、入力番号がスペースで区切られた昇順の列ラベルを形成するように構築され(事前にソートされていると想定できます)、行を形成する行ごとに1つずつ昇順で素数がリストされますラベル。
- 数値の長さが異なる場合、すべての列が同じ幅で適切に整列するように、素数の先頭スペースと入力数値が必要になる場合があることに注意してください。
- 各除数は単一
*
(または同じ文字がすべての出現に使用される限り、選択した他の適切なASCII文字)で表されます。 - 複数の除数は無視されます(たとえば、その交差点には
3 x 3 = 9
1つしかありません*
)。 *
限り、それは(私はすべての私の例を持っている明確なだとして、列の任意の場所に水平に配置することができ*
右揃え)。
入力
- それぞれの便利な形式の正の整数のリスト
>1
。 - 入力が事前にソートされていると想定できます。
- 入力には一意の値のみが含まれることが保証されています。
出力
結果の素数表のASCIIアート表現。
ルール
- 文字自体が正しく並んでいる限り、先頭または末尾の改行または空白はすべてオプションです。
- 列/行の見出しを表形式のデータから分離する分割線を使用する方が短い場合は、それも許可されます。
- 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。
- 可能であれば、オンラインテスト環境へのリンクを含めて、人々がコードを試せるようにしてください!
- 標準的な抜け穴は禁止されています。
- これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。
例
6,9,14,22
6 9 14 22
2 * * *
3 * *
7 *
11 *
2,3,5,7
2 3 5 7
2 *
3 *
5 *
7 *
2,4,8,16,32
2 4 8 16 32
2 * * * * *
75,99,151,153
75 99 151 153
3 * * *
5 *
11 *
17 *
151 *