Вступ
Я наткнувся на цю (марну) картину днями, поки дивився телевізор. Я назвав його "9 візерунком", тому що перший номер, який використовував його, був 9. Суть його полягає в тому, що ви вводите число (скажімо, x ), а потім повертаєтесь назад:
- х
- x + ( x / 3) [назвемо це y ]
- дві третини y [назвемо це z ]
- z + 1
Отже, якби я помістив всередині цього шаблону число 9 як х , це вийшло б:
- 9 ( 9 )
- 12 ( 9 + 9/3 ) [9 понад 3 - це 3, а 9 + 3 - 12]
- 8 ( 12 разів дві третини) [третина з 12 - 4, а 4 * 2 - 8]
- 9 ( 8 + 1 - 9)
Виклик
Напишіть мені функцію (будь-якою мовою програмування), яка приймає число, і виводить цілий масив, використовуючи шаблон.
Приблизно такий псуедо-код:
function ninePattern(int myInt) returns IntegerArray {
int iterationA = myInt + (myInt / 3);
int iterationB = iterationA * (2 / 3);
int iterationC = iterationB + 1;
IntegerArray x = [myInt, iterationA, iterationB, iterationC];
return x;
}
Роз'яснення
Обговорення викликали коментарі щодо специфікацій питання. Цей розділ призначений для уточнення деяких із них.
"краще рахувати в байтах, ніж символів"
Я вибирав персонажів, бо (як мінімум, мені було б простіше судити. Звичайно, я не можу це змінити зараз. (багато відповідей уже розміщено)
"округлення"
Закруглення слідує за цією римою:
Якщо 5 або більше, піднесіть бал
Якщо це 4 або менше, нехай відпочиває
Простіше кажучи, якщо це щось на зразок 4,7 або 3,85, округляйте їх до 5 і 4 відповідно.
Приклади
Input => Result
9 => [9, 12, 8, 9]
8 => [8, 11, 7, 8]
6 => [6, 8, 5, 6]
23 => [23, 31, 21, 22]
159 => [159, 212, 141, 142]
Якщо, однак, цифри на зразок 2.3 або 10.435446, округляйте їх до 2 та 10 відповідно.
"підтримка мови"
Ви не можете використовувати функції та / або масиви ЯКЩО ТА ТІЛЬКИ, ЯКЩО обрана вами мова не підтримує їх. Якщо це станеться (навіть якщо це збільшить кількість ваших персонажів), ви повинні їх використовувати .

