<em>// PascalABC.NET 3.3, сборка 1627 от 27.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ReadInteger('a=');
Writeln(1.To(a).Aggregate(int64(1),(p,q)->p*q))
end.
<u>Пример</u>
a= 20
2432902008176640000
Код прекреплен к ответу, всё прокоментрировано. Так же продублирован в коментариях. Если есть вопросы, велком в те же коментарии.
Спасибо за отметку "Лучший ответ" и нажатую кнопочку "Спасибо" (:
Var
a:array[1..35]of integer;
i,max,n:integer;
begin
readln(n);
for i:=1 to n do
read(a[i]);
max:=a[1];
for i:=1 to n do
if a[i]>max then
max:=a[i];
writeln;
writeln(max);
end.
5589 = 931 * 6 + 3
931 = 155 * 6 + 1
155 = 25 * 6 + 5
25 = 4 * 6 + 1
4 = 6 * 0 + 4
Записываем числа после плюса справа налево: 41513.