program ;
var
i, a: longint;
x,
u, j,
n, m : longint;
function fdiv (a, left : longint) : longint;
var
d,
i : longint;
begin
d : = 1;
for i : = left to trunc (sqrt (a)) do
if (a mod i = 0)
then
begin
d : = i;
break;
end;
if (d < > 1)
then
fdiv : = d
else
fdiv : = a;
end;
function g (n, u : longint) : longint;
var
i : longint;
begin
i : = 0;
while (n mod u = 0)
do
begin
inc (i);
n : = n div u;
end;
g : = i;
end;
begin
assign (input, 'input.txt');
assign (output, 'output.txt');
reset (input);
read (a);
close (input);
m : = 0;
n : = 1;
i : = fdiv (a, 2);
u : = 2;
while (a > 1)
do
begin
n : = n * i;
j : = 0;
while (a mod i = 0)
do
begin
inc (j);
a : = a div i;
end;
if (j > m)
then
begin
m : = j;
u : = i;
end;
i : = fdiv (a, i + 2);
end;
x : = 1;
while (g (n * x, u) * n * x < m)
do
inc (x);
n : = n * x;
rewrite (output);
write (n);
close (output);
end.
Поделитесь своими знаниями, ответьте на вопрос:
Введите с клавиатуры одномерный массив с(м), элементами которого являются положительные и отрицательные целые числа. найдите количество отрицательных чисел. сформируйте новый массив к(м) в котором замените все четные числа на количество отрицательных.
ar2:array of integer;
k,i,m:integer;
begin;
randomize;
writeln('Введите M');
readln(m);
setlength(ar,m+1);
setlength(ar2,m+1);
writeln('Введите массив С:');
for i:=1 to m do
begin;
readln(ar[i]);
if ar[i]<0 then inc(k);
end;
writeln('Количество отрицательных=',k);
writeln('Массив K:');
for i:=1 to m do
begin;
ar2[i]:=random(10);
write(ar2[i]:4);
if ar2[i] mod 2=0 then ar2[i]:=k;
end;
writeln;
writeln('Финальный массив K:');
for i:=1 to m do write(ar2[i]:4);
end.