Гипотеза Гольдбаха утверждает, что каждое четное число, большее двух, может быть выражено как сумма двух простых чисел. Например,
4 = 2 + 2
6 = 3 + 3
8 = 5 + 3
Однако, как только мы доберемся до 10, происходит нечто интересное. Не только 10 можно записать как
5 + 5
но это также можно записать как
7 + 3
Поскольку 10 можно выразить как сумму двух простых чисел двумя способами , мы говорим, что «разбиение Гольдбаха» в 10 есть 2
. Или, в общем,
Разделение Голдбаха числа - это общее количество различных способов записи,
n = p + q
гдеp
иq
являются простыми числами иp >= q
Ваша задача состоит в том, чтобы написать программу или функцию, которая находит раздел Голдбаха числа. Теперь технически термин «раздел Гольдбаха» используется только для обозначения четных чисел. Однако, поскольку нечетное целое число p + 2 также может быть выражено как сумма двух простых чисел, если p> 2 простое, мы расширим это на все натуральные числа ( A061358 ).
Вы можете смело предполагать, что ваши входные данные всегда будут положительным целым числом, и вы можете использовать входные и выходные данные любым из наших разрешенных методов по умолчанию , например, аргументы функций и возвращаемое значение, STDIN и STDOUT, чтение и запись в файл и т. Д.
Разделы Гольдбаха с положительными целыми числами до 100:
0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 2, 1, 2, 0, 2, 1, 2, 1, 3, 0, 3, 1,
3, 0, 2, 0, 3, 1, 2, 1, 4, 0, 4, 0, 2, 1, 3, 0, 4, 1, 3, 1, 4, 0, 5, 1, 4,
0, 3, 0, 5, 1, 3, 0, 4, 0, 6, 1, 3, 1, 5, 0, 6, 0, 2, 1, 5, 0, 6, 1, 5, 1,
5, 0, 7, 0, 4, 1, 5, 0, 8, 1, 5, 0, 4, 0, 9, 1, 4, 0, 5, 0, 7, 0, 3, 1, 6
Как обычно, применяются стандартные лазейки, и выигрывает самый короткий ответ в байтах!