<h3>PascalABC.NET 3.4.2, сборка 1861 от 09.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var s:=ReadLines('data.txt').First.Select(t->t.ToDigit)
.Aggregate(BigInteger(1),(a,b)->a*b).Println
end.
<h2>Пример</h2>
10057531504895395788703629698793031096713606951075840000000000000
<h3>Файл data.txt дан во вложении</h3>
Используйте алгоритм быстрой сортировки.
Пример:
Массив:
5 3 4 2 1 6 3 2 4
После сортировки:
<span>1 2 2 3 3 4 4 5 6 </span>
<span>Различных чисел: 5</span>
<span>n = int(input())
max5 = <span>0
</span>for i in (1, n+1):
a = int(input())
if a % 5 == 0 and a > max5:
max5 = a
print(max5)
</span>
<u>Простой алгоритм из 9 шагов:
</u>1) Берем сковороду
2) Ставим на нагретую плиту
3) Берем 3 яйца
4) Берем тарелку
5) Разбиваем яйца в тарелку
6) Взбиваем яйца
7) Выливаем на сковороду
8) Ждем 5 минут
9) Выключаем плиту<u>
</u>
<h3>Алгоритм решения</h3>
Для каждого из пяти чисел:
Пока число больше нуля, увеличиваем счётчик количества цифр на 1 и прибавляем последнюю цифру к счётчику суммы.
Необходимо учесть, что для K=0 количество цифр C=1.
<h3>Код (Pascal)</h3>
var
x, i, anc, ans: integer;
procedure Sum(k: integer; var c, s: integer);
begin
c := 0;
if k = 0 then c := 1;
s := 0;
while (k > 0) do
begin
c := c + 1;
s := s + (k mod 10);
k := k div 10;
end
end;
begin
for i := 1 to 5 do
begin
read(x);
Sum(x, anc, ans);
writeln(anc, ' ', ans);
end;
end.
-------------------------------------------------
Файл решения прикреплён.