Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 24.05.2013, 22:17   #1 (permalink)
NAt
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль

Всем привет, подскажите пожалуйста с задачей: Даны натуральные числа a, b, c. Найти НОД(a, b, c), используя формулу:.НОД(a, b, c) = НОД((a, b), c).
Алгоритм Евклида: НОД(A, B) = НОД(В, А mod В), если B <> 0; НОД(A, 0) = А
NAt вне форума   Ответить с цитированием

Старый 24.05.2013, 22:17
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Подобные вопросы раньше тоже создавались

Паскаль
Паскаль

Старый 24.05.2013, 22:39   #2 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

Вот программы.

НОД
Цитата:
uses crt;
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;

var a:array[1..100] of integer;
n,i:byte;
k:integer;
begin
clrscr;
write('Введите кол-во элементов n=');
readln(n);
writeln('Введите элементы массива: ');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
clrscr;
writeln('Массив:');
for i:=1 to n do
write(a[i],' ');
writeln;
k:=Nod(a[1],a[2]);
for i:=3 to n do k:=nod(k,a[i]);
writeln('Общий НОД всех элементов=',k);
readln
end.
НОД
Цитата:
uses crt;
function NOD(x,y:integer):integer;
Begin
If x<>0 then NOD:=NOD(y mod x,x) else NOD:=y;
End;
function NOK(x,y:integer):integer;
Begin
NOK:=(x div NOD (x,y))*y;
end;
var a:array[1..100] of integer;
n,i:byte;
k:integer;
begin
clrscr;
write('Введите кол-во элементов n=');
readln(n);
writeln('Введите элементы массива: ');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
clrscr;
writeln('Массив:');
for i:=1 to n do
write(a[i],' ');
writeln;
k:=NOK(a[1],a[2]);
for i:=3 to n do k:=NOK(k,a[i]);
writeln('Общий НОK всех элементов=',k);
readln
end.
Gruvi вне форума   Ответить с цитированием
Старый 24.05.2013, 22:45   #3 (permalink)
NAt
Member
 
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо за помощь
NAt вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 21:39.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.