Задача 2. "делители произведения"(20 баллов)
Задано N натуральных чисел a1,a2,...,aN (1<=N<=20), каждое из которых находится в интервале от 1 до 10000.
Необходимо определить количество натуральных делителей произведения a1*a2*...*aN.
Требуется написать программу, которая вычисляет количество натуральных делителей произведения вышеназванного числа.
Входные данные
Натуральное число N. Числа a1,a2,...,aN, записанные через пробел.
Выходные данные
Число натуральных делителей
Пример:
Вход:
4
3 5 7 720
Выход:
120
Мое решение:
program z2(input,output);
uses wincrt;
label m1;
var k,n: integer;
p,i: longint;
a: array[1..10000] of integer;
begin
p:=1;
k:=0;
m1: writeln ('введите количество чисел');
readln (n);
if (n<=0) or (n>=21) then
begin
writeln ('число должно быть в интервале от 1 до 20');
goto m1;
end;
writeln ('введите значения чисел');
for i:=1 to n do
begin
read (a[i]);
p:=p*a[i];
end;
for i:=1 to p do
begin
if p mod i=0 then k:=k+1;
end;
writeln (k);
end.
Если что, не судите строго. Я не волшебник, а только учусь.