Вы должны написать 3 программы и / или функции на одном языке.
Все эти программы должны решать одну и ту же задачу, но все они должны давать разные (но действительные) результаты. (Т.е. для каждой пары программ их должен быть некоторый ввод, который генерирует разные (но действительные) наборы выходных чисел.)
Задание
- Вам дано целое число
n
больше 1 - Вы должны возвращать или выводить
n
различные положительные целые числа, и ни одно из них не должно делиться наn
. - Порядок чисел не имеет значения, и перестановка чисел не учитывается как различные выходные данные.
Действительный триплет программ с несколькими input => output
парами:
program A:
2 => 5 9
4 => 5 6 9 10
5 => 2 4 8 7 1
program B:
2 => 1 11
4 => 6 9 1 2
5 => 4 44 444 4444 44444
program C (differs only in one number from program B):
2 => 1 13
4 => 6 9 1 2
5 => 4 44 444 4444 44444
счет
- Ваша оценка - это сумма длин трех программ или функций.
- Чем ниже балл, тем лучше.
- Если ваши программы / функции совместно используют код, общий код должен учитываться в длине каждой программы, которая использует этот код.
code-golf
number
arithmetic
number-theory
randomra
источник
источник
Ответы:
Pyth,
1716 байт5 байтов:
Выходы:
6 байтов:
Выходы:
5 байтов:
Выходы:
Альтернативная версия, в порядке возрастания:
-ShQQ
источник
J, 16 байт
Функция 1, 5 байтов
Функция 2, 6 байтов
Функция 3, 5 байт
Как это устроено
Функция 1
Поскольку P простое и P> y , y не может делить P e .
Функция 2
Если y разделить P e + y , это также разделит P e + y - y = P e .
Функция 3
Если y разделить (y + 1) e, то некоторый простой множитель Q of y должен будет разделить (y + 1) e .
Но тогда Q разделит и y, и y + 1 и, следовательно, y + 1 - y = 1 .
источник
Дьялог АПЛ,
1617 байтисточник
Витси , 54 байта
Программы:
Выходы:
Как это работает (используя первую программу в качестве объяснения):
Попробуйте онлайн!
источник
Perl, 79
В каждую программу добавлен один символ, потому что для этого требуется
-n
флаг.Довольно просто.
источник
Mathematica, 12 + 12 + 12 = 36 байт
тесты:
источник
CJam, 8 + 8 + 8 = 24 байта
Это три безымянные функции, которые ожидают
n
быть в стеке и оставляют список целых чисел на своем месте. Я не уверен, что это оптимально, но мне придется искать более короткое решение позже.Тестирование.
Результаты:
Первый также работает как
или
источник
Python 2, 79 байт
Функция Три анонимных , которые начинаются в
1
и подсчитывать каждый изn, 2*n, 3*n
дляn
терминов.источник
Серьезно, 20 байтов
Да, это не оптимально ...
источник
Par , 16 байт
Пользовательская кодировка, описанная здесь , использует только один байт на символ.
Выходы
источник
Haskell, 54 байта
Эти три функции довольно просты, так что ...
источник
Октава, 11 + 13 + 13 = 37 байт
источник
Python 2, 125 байт
Каждая строка здесь представляет собой полную программу. Самое очевидное решение на мой взгляд.
EDIT @ Sherlock9 сохранил два байта.
источник
Хаскелл, 50
Примеры:
источник
Golfscript, 50
5157байтовGolfscript версия того , что раньше quintopia Python кода «s. Каждая функция принимает
n
из стека.источник
TI-Basic (TI-84 Plus CE), всего
5540 байтПростой, похож на многие другие ответы здесь, каждый из которых отображает список чисел (X + A) N + 1 для X в диапазоне (N) и с существом, какая программа (1, 2 или 3).
Старое решение (55 байт):
Простой, похож на многие другие ответы здесь, каждый из которых отображает число (Х + А) N + 1 для X в диапазоне (N) и с существом, какую программу (1, 2 или 3).
источник