Установка:
Соціальна мережа повідомляє, що кількість голосів за публікацію є двома способами: кількість чистих змін (загальна кількість - загальна кількість голосів), а відсоток голосів, які були прийняті , округлюються до найближчого цілого числа (.5 раундів вгору). Кількість чистих оновлень - це ціле число (не обов'язково додатне), а друге гарантовано буде цілим числом від 0 до +100 включно. Кількість оновлених і кількість повторних запитів є або нульовими, або позитивними 32-бітовими цілими числами (ви можете вказати підписані або неподписані). Припустимо, що якщо нульового загального числа голосів, відсоток, що перевищує, повідомляється як нуль.
Змагання:
З огляду на ці два цілі числа (чисті оновлені та% оновлені), яка найкоротша програма, яку ви можете написати, визначає найменшу кількість загальних змін, отриманих за повідомлення, з усіма вищевикладеними обмеженнями?
Обмеження введення гарантовано. Якщо вхід не відповідає обмеженням, зазначеним вище, поведінка програми залежить від вас. Бонусний кудо, якщо він не входить в нескінченний цикл або іншим чином виходить з ладу. Побачте повернути від’ємне число, якщо хочете отримати більше вказівок.
Загальні правила:
- Це код-гольф , тому найкоротше діюче рішення (вимірюється в байтах) виграє.
- Не дозволяйте мовам коду-гольфу відштовхувати вас від публікації відповідей з не кодовими гольф-мовами. Спробуйте придумати якомога коротшу відповідь на "будь-яку" мову програмування. Бонусні кудо для веб-мови клієнта, як Javascript.
- Якщо у вас є цікаві рішення на декількох мовах, опублікуйте їх окремо .
- Для вашої відповіді застосовуються стандартні правила , тому вам дозволяється використовувати STDIN / STDOUT, функції / метод із відповідними параметрами та типом повернення, або повними програмами. Твій дзвінок.
- Бійниці за замовчуванням заборонені.
- Якщо можливо, додайте посилання з тестом для вашого коду.
- Також додайте пояснення, як працює код.
- Майте на увазі, що якщо ви робите цілу операцію поділу, яка скорочує (наприклад, 20/3 = 6), а не круги , це може бути не зовсім коректно.
- Запрошуються додаткові тестові випадки, які вивчають крайові випадки вищезазначених обмежень.
- Хоча очікуваний тип повернення є числовим, булеве "хибне" можна використовувати замість 0 .
Приклади тестових випадків:
Перший стовпець - це лише довідковий номер, включений для полегшення обговорення.
ref net %up answer
1 0 0 => 0
2 -5 0 => 0
3 -4 17 => 1
4 -3 29 => 2
5 -2 38 => 3
6 -1 44 => 4
7 0 50 => 1
8 5 100 => 5
9 4 83 => 5
10 3 71 => 5
11 2 63 => 5
12 1 56 => 5
13 1234 100 => 1234
14 800 90 => 894 (tip: don't refer to this as the "last test case;" others may be added.)
1000, 100
. Чи можете ви підтвердити, що очікувана відповідь 1000
?