Гіпотеза Гольдбаха говорить, що кожне парне число, що перевищує два, може бути виражене сумою двох простих чисел. Наприклад,
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
Ваше завдання полягає в тому, щоб написати програму або функцію, яка знаходить розділ Гольдбаха числа. Зараз технічно термін «розділ Goldbach» використовується лише для позначення парних чисел. Однак, оскільки непарне ціле 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
Як завжди, застосовуються стандартні лазівки, і найкоротша відповідь у байтах виграє!