数学のすべてのうち、常識を超えるいくつかの定理が常にあります。これらの1つは、さまざまなサイズの無限大があるという事実です。別の興味深い事実は、サイズが異なると思われる多くの無限大が実際には同じサイズであるという考えです。有理数と同様に、整数と同数の偶数があります。
この質問の一般的な概念は、無限という奇妙な現実に立ち向かうことです。このチャレンジでは、プログラムは以下を行うリストを出力します。
- 特定の時点で、常に整数のエントリがあります
- 最終的に、リスト全体に特定の(ゼロ以外の)有理数を正確に1回(十分に長く実行するために残した場合)
- 制限のない数の空のスロットが含まれている(リスト上のエントリが不必要に0に設定されている)
- 空きスロットの割合が100%の制限に近づいている
- すべての正の整数Nに対して、N個の連続した空のスロットを持つ無限の場所があります
チャレンジ
あなたの課題は、次のルールを備えた特別なリストを出力する、可能な限り短いプログラムを書くことです。
- インデックスが平方数ではないすべてのエントリはゼロに設定する必要があります。したがって、最初のエントリはゼロ以外、2番目と3番目はゼロ、4番目はゼロ以外などになります。
- すべての有理数は、単純化された不適切な分数の形式(4/5や144/13など)になります。例外はゼロです
0
。これは単にです。 - プログラムが十分に長く、十分なメモリで実行される場合、最終的にすべての(正および負の)有理数がリストに表示されます。特定の有理数の場合、必要な時間は任意の長さですが、常に有限の時間です。
- 無限の時間実行した場合、ゼロ以外の有理数が2回現れることはありません。
ルール3では、さまざまな法的出力が無限に存在するため、ある程度のバリエーションが認められています。
出力は行のストリームになります。各行5: 2/3
は、最初の番号がエントリ番号であり、その後に有理数が続く一般的な形式になります。1: 0
常に出力の最初の行になることに注意してください。
出力のスニペットの例:
1: 1/1
2: 0
3: 0
4: 2/1
5: 0
6: 0
7: 0
8: 0
9: -2/1
10: 0
etc...
規則、規制、および注記
これはコードゴルフです。標準コードのゴルフ規則が適用されます。また、出力で許可されるバリエーションのため、少なくともリストにすべての可能な有理数が1回だけ含まれていると信じる理由と、解が正しいことを示す必要があります。
編集:素数は挑戦から気をそらしたので、私はそれを二乗数に変更しています。これは同じ目的を達成し、ソリューションを短縮します。
1: 0
常に出力の最初の行になることに注意してください。–これはあなたの例と矛盾し、私にとっても意味がありません。