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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2011, 18:08   #21
Camaro Chevelle
Форумчанин
 
Регистрация: 05.11.2011
Сообщений: 102
По умолчанию

Код:
var a, b, c: integer;
begin
  for c:=1 to 20 do begin
    a:=3*c div 5;
    b:=4*c div 5;
    if a*a+b*b=c*c then
      writeln(a, ' ', b, ' ', c)
  end;
end.
Camaro Chevelle вне форума Ответить с цитированием
Старый 25.12.2011, 18:14   #22
Ия Ильина
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 28
По умолчанию

да все решается
только выдаем не все результаты
например a=15 b=8 c=17
он не выдает такой комбинации
Ия Ильина вне форума Ответить с цитированием
Старый 25.12.2011, 18:16   #23
Camaro Chevelle
Форумчанин
 
Регистрация: 05.11.2011
Сообщений: 102
По умолчанию

15 8 17 и 8 15 17 это не одно и то же?

аа, проверил, он и его не выводит
это уже вроде не египетский треугольник

Последний раз редактировалось Camaro Chevelle; 25.12.2011 в 18:19.
Camaro Chevelle вне форума Ответить с цитированием
Старый 25.12.2011, 18:17   #24
Ия Ильина
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 28
По умолчанию

он выдает комбинации
3 4 5
6 8 10
9 12 15
12 16 20
Ия Ильина вне форума Ответить с цитированием
Старый 25.12.2011, 18:23   #25
Ия Ильина
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 28
По умолчанию

ну я же не могу принести преподавателю то, о чем по сути сама еще не знаю.
Ия Ильина вне форума Ответить с цитированием
Старый 26.12.2011, 14:14   #26
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> МАССИВЫ И ВЛОЖЕННЫЕ ЦИКЛЫ НЕ ИСПОЛЬЗОВАТЬ В РЕШЕНИИ

массивы тут особо и не нужны, но вот запрет на вложенные циклы выглядит надуманным. Если вы проходили циклы, их вложенность ничего особо нового не добавляет.
Возможно, есть какие-то красивые решения через формулы Герона, лень думать, вот решение в лоб с одним циклом.

http://ideone.com/PPgsP

(Да, там используется trunc() и sqrt(). Может кто-то придумает, как от них избавиться, я пас )

UDP: хотя, доводя до абсурда, можно и так решить. Главное ведь, что циклы не вложенные, верно? )

http://ideone.com/Q9Qfp
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."

Последний раз редактировалось veniside; 26.12.2011 в 14:25. Причина: от перестановки мест слагаемых сумма не меняется )
veniside вне форума Ответить с цитированием
Старый 26.12.2011, 14:21   #27
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ия Ильина
ВЛОЖЕННЫЕ ЦИКЛЫ НЕ ИСПОЛЬЗОВАТЬ В РЕШЕНИИ
почему?

я лично вижу одно "кривое" решение,
но это фактически ваше вложенные циклы (из пост #1), только "развёрнутые" в один цикл..
Кривизна в том, что простое, чёткое и понятное решение превращается в бог знает что!

впрочем.
ваш препод хочет извращений? Их есть у меня.
получите и распишитесь.
Код:
var
  a, b, c, i: Integer;
begin
  a := 1;
  b := 1;
  c := 1;
  for i := 1 to 20*20*20 do begin
    if (a*a+b*b)=(c*c) then WriteLn('a=', a, ' b=', b, ' c=', c);
    inc(a); if a=20 then begin a:=1; inc(b); if b=20 then begin a:=1; b:=1; inc(c) end; end; 
  end;
  readln;
end.

Последний раз редактировалось Serge_Bliznykov; 26.12.2011 в 14:35.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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