В паскалеАБС: Разработка и тестирование компьютерной программы для нахождения НОД и НОК...

0 голосов
101 просмотров

В паскалеАБС: Разработка и тестирование компьютерной программы для нахождения НОД и НОК двух и трех чисел.
С адекватным объяснением!)


Информатика (40 баллов) | 101 просмотров
0

Адекватным чему? Вашим знаниям? Но каковы они?

0

Почему вы придираетесь к его словам? Возможно он просто имел ввиду более подробно. Ведь это логично.

0

Это не придирки. Это всего лишь необходимость следовать Правилам. Из параграфа 3: "Проблемы, содержащиеся в вопросе должны быть изложены конкретным, четким и исчерпывающим образом, ..." Вот мне не понятно, о какой адекватности речь. И Вам непонятно: Вы пишете "возможно..."

0

Ну тогда я с Вами согласен. Прошу прощения

0

Кроме того, нет такой системы программирования "паскальАБС". Есть Pascal ABC (через пробел) и PascalABC.NET. Они очень сильно отличаются.

0

Решат ему с использованием функций - а вдруг он напишет "Мы это не проходили, неадекватно это тому, как мы решаем!". И что дальше?

0

Формально он прав будет: он же "адекватно просил"!

0

Могу на асме запилить адекватно

Дан 1 ответ
0 голосов
Правильный ответ

Используем известное соотношение:
\displaystyle NOK(m,n)= \frac{m\times n}{NOD(m,n)}

// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
function NOD(a,b:integer):integer;
begin
  while a<>b do
    if a>b then a:=a-b
    else b:=b-a;
  Result:=a
end;

function NOD(a,b,c:integer):=NOD(NOD(a,b),c);

function NOK(a,b:integer):=(a*b) div NOD(a,b);

function NOK(a,b,c:integer):=NOK(NOK(a,b),c);

begin
  Writeln(NOD(250,15));
  Writeln(NOD(250,150,50));
  Writeln(NOK(250,15));
  Writeln(NOK(250,15,50))
end.

Решение для тестовых данных
5
50
750
750

(142k баллов)