Program Ok; const n=40; var A:array[1..n] of integer; sum,i,k:integer; begin randomize; read(k); sum:=0; for i:=1 to n do A[i]:=random(1000); for i:=1 to n do begin if (A[i] mod k = 0) then sum:=sum+A[i]; end; write('Сумма элементов массива кратных ', k, ' = ', sum); end.
var y: System.uint64; //Большая цЫфра же и положительная x, i: byte; //Нет смысла большие числа брать слишком, переполнение будет
begin readln(x); //Принимаем число... y := 1; i := 1; repeat y *= i; //...и умножаем такое-то количество раз i += 1; until (i > x); if (y = 0) then //Выводим, предусмотрев переполнение writeln('Слишком большая цЫферка') else writeln(y); end.
Int64 - это то же самое, что LongInt, а Uint64 (unsign long int) - длинное число без знака, при правильном использовании позволяет записывать в переменную числа, в 2 раза превышающие максимум Int64
const n=40;
var
A:array[1..n] of integer;
sum,i,k:integer;
begin
randomize;
read(k);
sum:=0;
for i:=1 to n do
A[i]:=random(1000);
for i:=1 to n do
begin
if (A[i] mod k = 0) then
sum:=sum+A[i];
end;
write('Сумма элементов массива кратных ', k, ' = ', sum);
end.