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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.12.2011, 14:30   #1
Ия Ильина
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 28
По умолчанию a^2+b^2=c^2

здравствуйте
помогите решать задачу на паскале
для 9 класса

найти все натуральные числа a,b,c из интервала от 1 до 20, для которых выполняется равенство a^2+b^2=c^2

я пробовала решить, вот что получилось: program zadacha_16;
var
a:integer;
b:integer;
c:integer;
a1:integer;
b1:integer;
c1:integer;
i:integer;
cx:integer;
begin
for a:=1 to 20 do
a1:=a*a;
for b:=1 to 20 do
b1:=b*b;
cx:=a1+b1;
for c:=1 to 20 do
c1:=c*c;
end;
if c1=cx then
writeln ('a=',a,'','b=',b,'','c=',c,'-пифагоровы');
end.



заранее спасибо!

ВЛОЖЕННЫЕ ЦИКЛЫ И МАССИВЫ ЕЩЕ НЕ ПРОХОДИЛИ
Ия Ильина вне форума
Старый 26.12.2011, 13:30   #2
Maksimall89
Пользователь
 
Аватар для Maksimall89
 
Регистрация: 10.11.2010
Сообщений: 59
По умолчанию

Надо идти в этом направление. Тут реализована проверка лишь последовательного ряда числе, без вложенных циклов остальное будет сложно реализовать, очень!
Код:
uses crt;
var
a,b,c,a1,b1,c1,left,right : integer;
begin
clrscr;
     for a:=1 to 18 do
         begin
              b := a + 1;
              c := a + 2;
              a1 := a * a;
              b1 := b * b;
              c1 := c * c;
              left := a1+b1;
              right := c1;
              if (left = right) then  writeln ('a=',a,' b=',b,' c=',c,'-ïèôàãîðîâû');
         end;
readkey;
end.
Maksimall89 вне форума
Старый 26.12.2011, 14:00   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ЗАКРЫТО ЗА КРОССПОСТИНГ
Serge_Bliznykov вне форума
Закрытая тема


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