Лесенки Лесенкой называется набор кубиков, в котором каждый следующий горизонтальный слой содержит меньше кубиков, чем слой под ним. Требуется подсчитать количество различных лесенок, которые могут быть построены ровно из кубиков.
Получаем целочисленное количество кубиков. Далее по теме "Треугольное число" и одной из формул (2chislo^0,5 - 0,4) треугольных чисел проводим вычисления по условию.
На выходе получаем округлённое значение целочисленное значение количества лесенок.
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк (столбцов) в матрице:'); Writeln('*** Исходная матрица ***'); var a:=MatrRandom(n,n,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var (su,sd,sl):=(0,0,0); for var i:=0 to n-1 do for var j:=0 to n-1 do if i<j then su+=a[i,j] else if i=j then sd+=a[i,j] else sl+=a[i,j]; Writeln('Суммы элементов:'); Writeln(' - верхней треугольной матрицы ',su); Writeln(' - главной диагонали ',sd); Writeln(' - нижней треугольной матрицы ',sl) end.
Пример Количество строк (столбцов) в матрице: 4 *** Исходная матрица *** -73 -89 4 39 77 -32 23 -45 -29 -70 -88 -40 -83 9 21 -46
Суммы элементов: - верхней треугольной матрицы -108 - главной диагонали -239 - нижней треугольной матрицы -75
"Школьный" вариант
const nn=20; { максимальный размер }
var a:array[1..nn,1..nn] of integer; i,j,n:integer; su,sd,sl:longint;
begin Write('Количество строк (столбцов) в матрице:'); Readln(n); Randomize; Writeln('*** Исходная матрица ***'); su:=0; sd:=0; sl:=0; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=Random(199)-99; Write(a[i,j]:4); if i<j then su+=a[i,j] else if i=j then sd+=a[i,j] else sl+=a[i,j] end; Writeln end; Writeln('Суммыа элементов:'); Writeln(' - верхней треугольной матрицы ',su); Writeln(' - главной диагонали ',sd); Writeln(' - нижней треугольной матрицы ',sl) end.
n = ((int(input()) * 2) ** 0.5) - 0.4
print(int(n))
Код в одной строке:
print(int(((int(input()) * 2) ** 0.5) - 0.4))
Объяснение:
Получаем целочисленное количество кубиков. Далее по теме "Треугольное число" и одной из формул (2chislo^0,5 - 0,4) треугольных чисел проводим вычисления по условию.
На выходе получаем округлённое значение целочисленное значение количества лесенок.