Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2009, 15:25   #1
denny666
Новичок
Джуниор
 
Регистрация: 08.06.2009
Сообщений: 2
По умолчанию помогите решить сложную задачу

"составить программу, проверяющую, являются ли данные три числа взаимно простыми
denny666 вне форума Ответить с цитированием
Старый 08.06.2009, 15:58   #2
sheka
Босс
Форумчанин
 
Аватар для sheka
 
Регистрация: 03.06.2009
Сообщений: 125
По умолчанию

ты хоть сам пробовал решить эту "сложную задачу", чтобы мы "ПОМОГЛИ ее ТЕБЕ решить"?
если нет, можешь обратиться Icq 255507394

Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются.
Ася 255507394. Отзывы здесь.
sheka вне форума Ответить с цитированием
Старый 08.06.2009, 19:58   #3
denny666
Новичок
Джуниор
 
Регистрация: 08.06.2009
Сообщений: 2
По умолчанию

да пробовал, идея была в том что бы через процедуру найти максимальное из этих трех чисел и потом циклом забабахать от i=2 до макс пока все эти три числа не будут делится на i без остатка, а если делятся значит числа не взаимнопростые..тока я этого не умею...с теоретикой у мну на 1, а практика на нуль
denny666 вне форума Ответить с цитированием
Старый 08.06.2009, 21:14   #4
DM_bite
Участник клуба
 
Аватар для DM_bite
 
Регистрация: 29.07.2008
Сообщений: 1,091
По умолчанию

Цитата:
да пробовал, идея была в том что бы через процедуру найти максимальное из этих трех чисел
Функцию тогда уж, как будешь возвращать максимум-то?
Код:
function MaxThree(a,b,c: integer): integer;
begin
if (a>b) and (a>c) then MaxThree:= a;
if (b>a) and (b>c) then MaxThree:= b;
if (c>a) and (c>b) then MaxThree:= c;
end;
Кто бы ты ни был - не думай о себе слишком (с)
DM_bite вне форума Ответить с цитированием
Старый 08.06.2009, 22:30   #5
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Так будет оптимальнее:
Код:
function MaxThree(a,b,c: integer): integer;
begin
  if (a>b) and (a>c) then 
    MaxThree:= a
  else
  if (b>a) and (b>c) then 
    MaxThree:= b
  else
    MaxThree:= c;
end;
P.S. Два числа называются взаимно простыми, если они не имеют никаких общих делителей, кроме 1.
Т.е. надо найти НОД этих чисел, если он = 1 - значит числа взаимно простые, иначе - нет.
НОД можно найти алгоритмом Евклидва.
Аналогично можно попарно проверить и для трех чисел.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу. Sergey1993s Паскаль, Turbo Pascal, PascalABC.NET 1 03.04.2009 22:44
Помогите решить задачу по С++ dosinho Помощь студентам 1 29.11.2008 13:33
Помогите решить задачу Hranitel Помощь студентам 11 09.10.2008 16:25
Помогите пожалуйста решить сложную задачу! Biowulf86 Помощь студентам 21 23.09.2007 20:34
Помогите решить задачу cL1zMa Паскаль, Turbo Pascal, PascalABC.NET 5 15.12.2006 11:04