Трикутна павутина#4368

Трикутна павутина (Розбір)

Розглянемо, як поширюється вогонь на нескінченній трикутній решітці:

Можна помітити закономірність: кожен новий рівень додає на вершин більше, ніж попередній.

Маємо арифметичну прогресію з першим членом a_1 = 6 і різницею d = 6.

Через секунд кількість палаючих вершин буде дорівнювати

res = 1 + (6 + 12 + 18 + ... + (6 + 6 \cdot (n - 1)))

Використовуючи формулу суми арифметичної прогресії \frac{2a_1+d(n-1)}{2} n, отримаємо що

res = 1 + \frac{2 \cdot 6 + 6(n - 1)}{2} n = 1 + (6 + 3 (n - 1)) n = 1 + 3 n (n + 1)

Реалізація алгоритму

Читаємо вхідне значення .

scanf("%lld",&n);

Обчислюємо і виводимо відповідь.

res = 1 + 3 * n * (n + 1);
printf("%lld\n",res);