Пов'язана OEIS послідовність: A008867
Урізане трикутне число
Загальною властивістю трикутних чисел є те, що вони можуть бути розташовані в трикутнику. Наприклад, візьміть 21 і розташуйте в трикутник o
s:
о оо ооо оооо ooooo oooooo
Давайте визначимо "усікання": вирізання трикутників однакового розміру з кожного кута. Один із способів урізання 21 полягає в наступному:
. . . ооо оооо . ооо. . . оо. .
(Трикутники .
відрізані від оригіналу).
Залишилося 12 o
s, тому 12 - це усічений номер трикутника.
Завдання
Ваше завдання полягає в тому, щоб написати програму або функцію (або еквівалент), яка приймає ціле число і повертає (або використовує будь-який із стандартних методів виведення), чи число є усіченим числом трикутника.
Правила
- Немає стандартних лазівки
- Вхід - це невід'ємне ціле число.
- Розріз не може мати довжину сторони, що перевищує половину довжини початкового трикутника (тобто надрізи не можуть перетинатися)
- Розріз може мати нульову сторону довжиною.
Тестові кейси
Truthy:
0
1
3
6
7
10
12
15
18
19
Фальсі:
2
4
5
8
9
11
13
14
16
17
20
Тестові приклади для всіх цілих чисел до 50: TIO Link
Це код-гольф , тому подання з найменшими підрахунками байтів на кожній мові виграють!