Даны n целых чисел. Нужно отыскать их НОД и НОК. Необходимо
Даны n целых чисел. Нужно отыскать их НОД и НОК. Нужно написать программку на Pascal, помогите пожалуйста.
Задать свой вопрос
Егор Дочу
Поначалу вводится N, а потом N целых чисел?
Милана
Дан массив
Aleksandr Hardinov
То есть, с клавы вводится массив из N целых чисел... либо можно их рандомно задать?
Igor Kubaev
[1...99] вот так к примеру
2 ответа
Шестапалов
Игорь
Var A:array[1..10000] of integer;
i,NOD,NOK,k,N:integer;
Begin
Write('N = ');ReadLn(N);
Write('Введите числа (',N,' шт.): ');
For i:= 1 to N do
Read(A[i]);
Поиск НОК
NOK:=абс(A[1]);
For i:= 2 to N do
if abs(A[i])lt;NOK then NOK:=абс(A[i]);
if NOK = 0 then NOK:=1;
Repeat
k:=0;
For i:= 1 to N do
if A[i] mod NOK = 0 then k:=k+1;
NOK:=NOK-1;
Until k=N;
WriteLn('NOK = ',NOK+1);
Поиск НОД
NOD:=A[1];
For i:= 2 to N do
if abs(A[i])gt;NOD then NOD:=A[i];
Repeat
k:=0;
For i:= 1 to N do
if NOD mod A[i] = 0 then k:=k+1;
NOD:=NOD+1;
Until k=N;
WriteLn('NOD = ',NOD-1)
End.
i,NOD,NOK,k,N:integer;
Begin
Write('N = ');ReadLn(N);
Write('Введите числа (',N,' шт.): ');
For i:= 1 to N do
Read(A[i]);
Поиск НОК
NOK:=абс(A[1]);
For i:= 2 to N do
if abs(A[i])lt;NOK then NOK:=абс(A[i]);
if NOK = 0 then NOK:=1;
Repeat
k:=0;
For i:= 1 to N do
if A[i] mod NOK = 0 then k:=k+1;
NOK:=NOK-1;
Until k=N;
WriteLn('NOK = ',NOK+1);
Поиск НОД
NOD:=A[1];
For i:= 2 to N do
if abs(A[i])gt;NOD then NOD:=A[i];
Repeat
k:=0;
For i:= 1 to N do
if NOD mod A[i] = 0 then k:=k+1;
NOD:=NOD+1;
Until k=N;
WriteLn('NOD = ',NOD-1)
End.
Димка
Спасибо)
Tema Zavzan
Function NOD(a, b: integer):integer;
begin
while alt;gt;b do if agt;b then a-=b else b-=a;
result:=a;
end;
begin
var n:=readinteger('N =');
var a:=ReadArrInteger('Вводите: ', n);
var prod1:=1; var prod:=a[0]; var nod1:=a[0];
for var i:=1 to n-1 do
begin
nod1:=NOD(nod1, a[i]);
prod*=a[i];
end;
for var i:=0 to n-2 do for var j:=i+1 to n-1 do prod1*=NOD(a[i], a[j]);
write ('НОК: ', prod div prod1, '; НОД: ', nod1);
end.
begin
while alt;gt;b do if agt;b then a-=b else b-=a;
result:=a;
end;
begin
var n:=readinteger('N =');
var a:=ReadArrInteger('Вводите: ', n);
var prod1:=1; var prod:=a[0]; var nod1:=a[0];
for var i:=1 to n-1 do
begin
nod1:=NOD(nod1, a[i]);
prod*=a[i];
end;
for var i:=0 to n-2 do for var j:=i+1 to n-1 do prod1*=NOD(a[i], a[j]);
write ('НОК: ', prod div prod1, '; НОД: ', nod1);
end.
Эльвира Дучева
Спасибо
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов