У цьому виклику ми намагаємось вирішити відразу дві важливі проблеми. Вони є:
- З огляду на цілі числа a і b , скажіть, чи a b -1 - просте число.
- Давши цілі числа a і b , поверніть nCr (a, b).
Зокрема, ви повинні написати дві програми, одну, яка виконує перше завдання, і одну, яка виконує другу. Оскільки ми хочемо вирішити обидві проблеми одночасно, рекомендується використовувати один і той же код у обох програмах.
Оцінка балів
Оцінка відповіді - відстань Левенштейна між двома програмами. Нижча оцінка - краща. У разі нерівності виграє відповідь із найкоротшим комбінованим кодом двох програм. Ви можете використовувати цей скрипт для обчислення результатів вашого рішення.
Правила
- Ви повинні написати дві програми однією мовою, які вирішують описані вище завдання. Ви можете використовувати будь-які потрібні вам способи вводу / виводу. Для завдання 1 ви можете повернути значення truthy / lažy або вибрати два значення для значення true та false та повернути їх відповідно. Напр. ви можете вибрати, що
"prime"
означає істинне і"not prime"
означає неправдиве. - Алгоритми, які ви використовуєте, повинні працювати для всіх можливих входів, але це нормально, якщо код виходить з ладу для великих чисел через обмеження використовуваного типу номера. Ви можете припустити, що вхід правильний.
Жоден підмножина програми не повинен вирішити проблему, тобто. код не повинен працювати, якщо якісь символи видалено. Наприклад, наступний код недійсний, оскільки можна видалити невикористаний блок-блок, не порушивши програму:
if (1) { /* change to 0 to get the second program*/ ... } else { ... }
Стандартні лазівки заборонені.
Тестові справи
a b -1 є простим?
a b
1 1 false
2 3 true
5 2 false
2 5 true
4 3 false
2 7 true
nCr
a b nCr(a,b)
1 1 1
5 2 10
4 3 4
10 7 120
12 5 792