Это новый тип задач, вдохновленный проблемой « Восстановить измененный исходный код» .
Вы должны написать две программы или функции на одном языке. Первый должен решить задачу № 1, а второй должен решить задачу № 2.
Ваша оценка будет суммой более длинной программы и расстояния Левенштейна между исходным кодом двух программ. Чем меньше балл, тем лучше, поэтому вы должны попытаться сделать два решения одинаковыми, оставляя программы короткими.
Задание 1
Вам дано положительное целое число , N
и вы должны выводить последовательность Коллатца из N
разделенных пробелами или переводом строки. Конечный разделитель допускается.
Первым элементом последовательности Коллатца является N
. Остальные элементы генерируются на основе их преемника :
Как только последовательность достигает, 1
новые элементы не генерируются.
Input => Примеры вывода:
6 => 6 3 10 5 16 8 4 2 1
8 => 8 4 2 1
1 => 1
Задача № 2
Пара двойных простых чисел - это пара натуральных чисел, разница которых равна 2, и они оба простые.
Вам дано положительное целое число, N
и вы должны вывести наименьшую пару двойных простых чисел, где оба простых числа больше, чем N
первое. Число должно быть меньшим, а два простых числа должны быть разделены пробелами или символом новой строки. Конечный разделитель допускается.
Input => Примеры вывода:
6 => 11 13
42 => 59 61
1 => 3 5
Фрагмент для подсчета очков
(Модификация одного в Восстановить проблему с измененным исходным кодом .)
редактировать
В шапке ответов воспользуемся форматом
[Language], [longer length] + [distance] = [final score]
,
Например
Python 2, 60 + 32 = 92
3 5
для входа 3 на простых парах. Это должно вывести5 7
.05AB1E , 14 +
13109 =272423-4 балла благодаря ASCII-только
Последовательность Коллатца (14 байтов):
Попробуйте онлайн!
Двойные простые числа (14 байтов):
Попробуйте онлайн!
Двойные простые числа в гольфе (11 байт):
Попробуйте онлайн!
источник
,,
, и почему онÐ,
там работает)Ява 8, 118 + 84 = 202
Коллатец:
Двойные простые числа:
источник
Mathematica, 53 + 29 = 82
Последовательность Коллатца:
Программа двойных простых чисел:
источник
> <> , 116 + 86 = 202
Программа Collatz (46):
Программа двойных простых чисел (116):
Уч. Обе программы запускаются с одной и той же
atoi
функцией, но после этого двойные простые числа идут вниз. Один и тот же кусок кода повторяется дважды для проверки простоты - может быть немного короче, чтобы как-то повторно использовать этот кусок, но настройка для него не сэкономит много байтов.Может быть намного лучше, если бросить заднюю половину двойных простых чисел в неиспользуемые места программы Collatz, но я не уверен, разрешено ли это.
источник
C ++ Расстояние = 114 Большая длина = 155 Оценка = 269
Задание 1
Задача 2
Задача 2 улучшена
источник
int p(int x){int z=0;for(int i=2;1<x;i++){cout<<x<<' ';x=(x%2==0)?x/2:x*3+1;}cout<<x;return z;}