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

0 интересует 0 не интересует
133 просмотров

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


спросил от (40 баллов) в категории Информатика
оставил комментарий от Архангел (142k баллов)
0 0

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

оставил комментарий от Одаренный (1.8k баллов)
0 0

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

оставил комментарий от Архангел (142k баллов)
0 0

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

оставил комментарий от Одаренный (1.8k баллов)
0 0

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

оставил комментарий от Архангел (142k баллов)
0 0

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

оставил комментарий от Архангел (142k баллов)
0 0

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

оставил комментарий от Архангел (142k баллов)
0 0

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

оставил комментарий от Отличник (5.2k баллов)
0 0

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

1 Ответ
0 интересует 0 не интересует
ответил от Архангел (142k баллов)
 
Лучший ответ

Используем известное соотношение:
\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

...