Напишите на наименьший общий делитель и

123lego123den 123lego123den    1   24.05.2019 11:30    0

Ответы
nataliolejic nataliolejic  20.06.2020 08:36
В чем проблема то? 

> НОД(А,В) = НОД(В, А mod B) , если В не равен 0; НОД(А,0)=А 
Вот тебе дано определение -- фактически алгоритм. По нему и можно сразу же написать: 

function nod(a, b: longint): longint; 
begin 
    if b <> 0 then 
        nod := nod(b, a mod b) 
    else 
        nod := a; 
end; 

var 
    a, b, c, d: longint; 
begin 
    write('A B C D? '); 
    readln(a, b, c, d); 
    writeln('НОД(A, B): ', nod(a, b)); 
    writeln('НОД(A, C): ', nod(a, c)); 
    writeln('НОД(A, D): ', nod(a, d)); 
end. 

От рекурсии можно при желании избавится, тогда надо использовать цикл.
ПОКАЗАТЬ ОТВЕТЫ
SerPol SerPol  20.06.2020 08:36
 для двух целых чисел m и n называется наибольший из их общих делителей.
Пример: для чисел 6 и 9 наибольший общий делитель равен 3.

Наибольший общий делитель существует и однозначно определён, если хотя бы одно из чисел m или n не равно нулю.
В школьной программе обозначается так: НОД(m, n)

Понятие наибольшего общего делителя (НОД) распространяется на любой набор из более чем двух целых чисел. Чаще всего НОД используется для сокращения дроби - если найти НОД числителя и знаменателя, то на это число можно сократить числитель и знаменатель данной дроби.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Математика