Как найти нод трех чисел паскаль

Составьте программу нахождения наибольшего общего делителя трех чисел, используя следующую формулу: НОД(А, В, С) = НОД(НОД(А, В), С)



Составьте программу нахождения наибольшего общего делителя трех чисел, используя следующую формулу: НОД(А, В, С) = НОД(НОД(А, В), С).
   


Program zad_2_nica;
var A, B, C: integer;
begin
   write (‘Введите A: ‘);
   read (A);
   write (‘Введите B: ‘);
   read (B);
   write (‘Введите C: ‘);
   read (C);
   while (A<>B)
   do begin
      if A>B
      then A:=A-B
      else B:=B-A
   end;
   while (A<>C)
   do begin
      if A>C
      then A:=A-C
      else C:=C-A
   end;
   writeln (‘НОД(A,B,C)=’, A)
end.

0 / 0 / 0

Регистрация: 13.06.2012

Сообщений: 8

1

Найти наибольший общий делитель трех чисел

13.06.2012, 21:20. Показов 18004. Ответов 1


Студворк — интернет-сервис помощи студентам

8.Найти наибольший общий делитель трех чисел.



0



CodeR

Фрилансер

3417 / 2814 / 3000

Регистрация: 08.02.2012

Сообщений: 8,539

Записей в блоге: 1

14.06.2012, 09:19

2

Лучший ответ Сообщение было отмечено Илиодор как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Var a,b,c:integer;
Function Nod(a,b:integer):integer;
Begin
    While a<>b do
     if a>b then a:=a-b 
      else b:=b-a;
     Nod:=a;
End;
Begin
    write('Введите a,b,c: ');readln(a,b,c);
    writeln('Nod(a,b,c): ',Nod(Nod(a,b),c));
    readln;
End.



0



на паскале составить программу нахождения наибольшего общего делителя трех чисел , испол. след. формулу:



Ученик

(120),
закрыт



11 лет назад

Никита Матросов

Мыслитель

(5701)


11 лет назад

var a,b,c: longint;
function nod(a, b: longint): longint;
begin
while (a <> 0) and (b <> 0) do
begin
if a > b then a := a mod b else b := b mod a;
nod := a + b;
end;
end;
begin
read(a,b,c);
Writeln(nod(nod(a,b),c));
end.

Кублен

Оракул

(95418)


11 лет назад

{нахождение НОД}
uses crt;
var
a, b, gcd: longint;
begin
cls;
write(‘vvesti 2 chisla –> ‘); readln(a, b);
while (a <> 0) and (b <> 0) do
if a > b then a := a mod b else b := b mod a;
gcd := a + b;
writeln(‘НОД: ‘, gcd);
readkey;
end.
оформи сама

Перейти к контенту

Информатика 9 класс Семакин ФГОС

ГДЗ по Информатике 9 класс. Семакин § 16 Алгоритм Евклида


2. Составьте программу нахождения наибольшего общего делителя трех чисел, используя следующую формулу: НОД(А, В, С) * НОД(НОД(А, В), С).

Ответ

Program zz1;
Var a,b,c:integer; // задаем переменные целого типа
Function Nod(a,b:integer):integer; // вспомогательный алгоритм
Begin
While a<>b do // организуем цикл, используем алгоритм Евклида
if a>b // проверяем условие, если первое число больше второго
then a:=a-b // то, от первого отнимаем второе
else b:=b-a; // иначе, от второго отнимаем первое
Nod:=a; // в связи с тем, что по окончании цикла два числа сравняются, ответом является любое из них
End;
begin
write(‘ Введите три числа ‘); // вводим с клавиатуры три заданных числа
readln(a,b,c);
writeln(‘ НОД трех чисел = ‘, Nod(Nod(a,b),c));
end.


Тема: Турбо паскаль, программа для нахождения НОД трех чисел, помогите  (Прочитано 9065 раз)

0 Пользователей и 1 Гость просматривают эту тему.

помогите пожалуйста нужно написать в турбо паскале по теореме Евклида

Нужно по теореме Евклида решить в паскале

составьте программу нахождения наибольшего общего делителя трех чисел используя формулу:НОД(А,В,С)=НОД(НОД(А,В),С)

прошу помогите*

« Последнее редактирование: 24 Ноября 2010, 09:49:43 от Asix »


function nod(a,b:integer):integer;
begin
  if a * b = 0 then
    nod := a + b
  else
    nod := nod(a mod b, b mod a);
end;

begin
  writeln(nod(nod(12, 1204), 16);
end.

« Последнее редактирование: 24 Ноября 2010, 09:49:49 от Asix »


Добавить комментарий