Из всей математики всегда будет несколько теорем, которые выходят за рамки всего здравого смысла. Одним из них является тот факт, что существуют разные размеры бесконечности. Другим интересным фактом является идея о том, что многие бесконечности, которые кажутся разными, на самом деле имеют одинаковый размер. Четных чисел столько же, сколько и целых, и рациональных чисел.
Общая концепция этого вопроса - противостоять странной реальности бесконечности. В этой задаче ваша программа выведет список, который будет:
- В любой конкретный момент времени всегда есть целое количество записей
- В конце концов, содержать (если оставить достаточно долго) любое конкретное (ненулевое) рациональное число точно один раз во всем списке
- Содержат неограниченное количество пустых слотов (записи в списке, которые излишне установлены в 0)
- Есть доля пустых слотов, которая приближается к пределу 100%
- Для каждого положительного целого числа N, иметь бесконечное количество мест с N последовательных пустых слотов
Соревнование
Ваша задача - написать ту самую короткую из возможных программ, которая выведет специальный список со следующими правилами:
- Все записи с индексом, который не является квадратным числом, должны быть установлены в ноль. Итак, первая запись будет отлична от нуля, вторая и третья будут равны нулю, четвертая будет отлична от нуля и т. Д.
- Все рациональные числа будут в форме неправильной дроби (такой как 4/5 или 144/13), которая была упрощена. Исключение составляют нули, которые будут просто
0
. - Все (положительные и отрицательные) рациональные числа должны в конечном итоге появиться в списке, если ваша программа работает достаточно долго и с достаточным объемом памяти. Для любого конкретного рационального числа требуемое время может быть произвольно большим, но всегда конечным количеством времени.
- Если запустить в течение бесконечного количества времени, никакое ненулевое рациональное число никогда не должно появляться дважды.
Правило 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: 0
всегда будет первая строка вывода. - Это противоречит вашему примеру и также не имеет смысла для меня.