Задача
Вкотре запізнившись на урок, Байтик, проходячи повз ігрову кімнату, помітив шахову дошку. Порахував усі клітинки на ній, і йому стало цікаво: скільки різних квадратів зі стороною $k(1 \leqslant k \leqslant n)$ можна розмістити на дошці розміру $n$.
Вхідні дані
Натуральне число $n$ $( n\leqslant 10000)$ розмір шахової дошки.
Вихідні дані
Єдине число – кількість різних квадратів, які можна розмістити на шаховій дошці.
Тести
№ | Входные данные | Выходные данные |
1 | 3 | 14 |
2 | 10 | 385 |
3 | 99 | 328350 |
4 | 999 | 332833500 |
5 | 10000 | 333383335000 |
Код программы
1 2 3 4 5 6 7 8 9 10 11 |
#include <iostream> using namespace std; int main() { long int n; cin >> n; long int result; result = n*(n + 1)*(2*n + 1)/6; cout << result; return 0; } |
Рішення
Вирішити цю задачу можна за допомогою квадратного пірамідального числа — числа, яке висловлює кількість квадратів з різними сторонами в сітці $n$*$n$. Загальна формула для пірамідального числа порядку $n$: $\sum\limits_{k = 1}^{n} k^{2} = \frac{n(n+1)(2n+1)}{6}$. Використаємо виведену формулу для лінійного обчислення, щоб не використовувати цикли і зменшити час роботи програми.
Для отправки комментария необходимо войти на сайт.