Розглянемо трикутник, кожна сторона якого розділена на рівних частин. Найбільша кількість однакових фігур вийде серед найменших рівних трикутників. Порахуємо їхню кількість.
Розіб'ємо трикутник на горизонтальних смуг, пронумерувавши їх згори донизу.
У останній, -й (нижній) смузі знаходиться трикутників з вершиною вгору і n - 1 трикутник з вершиною вниз.
У передостанній, (n - 1)-й смузі — n - 1 трикутник з вершиною вгору і n - 2 трикутники з вершиною вниз.
Продовжуючи міркування, отримуємо:
кількість трикутників з вершиною вгору дорівнює n + (n - 1) + (n - 2) + ... + 2 + 1;
кількість трикутників з вершиною вниз дорівнює (n - 1) + (n - 2) + ... + 2 + 1.
Таким чином, загальна кількість найменших рівних трикутників дорівнює сумі цих двох величин:
Приклад
Для n = 1, 2 і кількість рівних трикутників становить відповідно і . Наприклад, при n = 3 відповідь дорівнює (1 + 2 + 3) + (1 + 2) = 9.
Реалізація алгоритму
Читаємо вхідне значення .
scanf("%lld",&n);Обчислюємо та виводимо відповідь.
res = n * n;
printf("%lld\n",res);Java реалізація
import java.util.*;
class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
long n = con.nextLong();
long res = n * n;
System.out.println(res);
con.close();
}
}Python реалізація
Читаємо вхідне значення .
n = int(input())Обчислюємо та виводимо відповідь.
res = n * n
print(res)