<h3>PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var (k, p, n) := (0, int64(1), ReadInteger('n ='));
var t: integer;
for var i := 1 to n do
begin
Read(t);
if t mod 3 = 0 then
begin
p *= t;
Inc(k)
end
end;
Write('Произведение ', k, ' элементов равно ', p)
end.
<h2>Пример</h2><h3>n = 7</h3><h3>53 -28 36 174 -600 45 -93</h3><h3>Произведение 5 элементов равно 15728904000</h3>
Для 8-битной кодировки:
Для одной страницы требуется 40*60*8 бит = 40*60 байт = 2400 байт
1 ТБ переводим в байты:
1 ТБ=1*1024 Гбайт = 1024*1024 Мбайт = 1024*1024*1024 Кбайт = 1024*1024*1024*1024 байт
Количество страниц: 1024*1024*1024*1024 / 2400 ≈ 458 129 844,9 страниц
Высота стопки: 458 129 844 / 100 *0,01 ≈ 45813 м = 45 км
<span> // 1 гриб</span><span>
// 2-4 гриба</span><span>
// 5-10 грибов</span><span>
// 11-20 грибов исключение</span><span>
// 21 гриб</span><span>
// 22-24 гриба</span><span>
// 25-30 грибов</span><span>
// 31 гриб</span><span>
// 32-34 гриба</span><span>
// 35-40 грибов</span><span>
// 41 гриб</span><span>
// 42-44 гриба</span><span>
// 45-50 грибов</span><span>
// 51 гриб
как видим из вышеизложенного, мы должны только запрограммировать окончание первого десятка и исключение 11-20, которое будет портить нам малину, т.к. там одно окончание будет.
А остальное берем целочисленный остаток от деления на 10, и добавляем нужное окончание.</span><span />
Данное число можно предоставить в виде 23,5 умножить на 10 в 7 степени.
Var x:integer;
begin
for x:=5 to 14 do begin
x:=x*(x+1)
end;
end.
PASCAL не уверен что работает но смысл такой