Гипотеза Гольдбаха утверждает, что:
каждое четное число больше 2 является суммой двух простых чисел.
Мы будем рассматривать разбиение Голдбаха числа n как пару двух простых чисел, добавляющих к n . Нас интересуют цифры увеличивающегося раздела Гольдбаха . Мы измеряем размер разделов Голдбаха числа по величине наименьшего простого числа во всех разделах этого числа. Число увеличивается с разделением, если этот размер больше, чем размер всех меньших четных чисел.
задача
Учитывая четное целое число n> 2 , определите, является ли n увеличивающимся разделом Голдбаха, и выведите два уникальных значения, одно, если оно есть, и одно, если это не так.
Это Код-гольф, поэтому вы должны стремиться минимизировать количество байтов в вашем исходном коде.
code-golf
number-theory
decision-problem
primes
Специальный охотник за гарфами
источник
источник
Ответы:
Желе , 12 байт
Попробуйте онлайн!
Как это работает
источник
PHP , 154 байта
Попробуйте онлайн!
расширенный
Попробуйте онлайн! Проверить на все номера до 1000
источник
JavaScript (ES6), 135 байт
Использует логику, аналогичную ответу PHP от Jörg .
демонстрация
Показать фрагмент кода
источник
Python 3:
156151142138136128 байт(спасибо ОП)
(спасибо @Rod) (снова) (и снова)
источник
max
с ключом возвращает элемент с максимальным значением после применения ключа, мне пришлось добавить функцию application, но тем не менее она короче.range
какn
ограничен внутриlambda
.max(map(m,r[::2]))
f
и, следовательно, вы можете сохранить 2 байта, удаливf=
.Python 3:
204196 байтБайты сохранены благодаря: Olm Man
Попробуйте онлайн!
источник
min
иall
могут принимать генераторы в качестве аргументов, это означает, чтоmin([...])
можно сократитьmin(...)
и то же самое для всех. Вы также можете избавиться от некоторых пробелов, в частности пробелов вimport *
и любых пробелов после фигурных скобок, я вижу, что у вас есть один послеrange(g)
и один до[i for i in ...
, ни то, ни другое не нужно.all(n%i for i in range(2,g))
, но вы должны изменить егоrange(g)
на,range(1,g)
потому что это дает ложный положительный результат на 1.