Форум программистов, компьютерный форум CyberForum.ru

Пифагоровы тройки (простая задача) - C++

Восстановить пароль Регистрация
 
randy92
7 / 7 / 2
Регистрация: 23.04.2014
Сообщений: 59
27.04.2014, 14:49     Пифагоровы тройки (простая задача) #1
Прямоугольный треугольник может иметь все стороны,
выраженные целыми числами. Множество троек целых значений сторон
прямоугольного треугольника называется тройками Пифагора. Эти три стороны
должны удовлетворять соотношению, по которому сумма квадратов двух сторон
(катетов) равна квадрату третьей стороны (гипотенузы). Найдите все тройки
Пифагора, в которых и катеты, и гипотенуза не больше 500. Используйте трижды
вложенные циклы for, которые перебирают все возможности.

Вот такая задача. Вот моя попытка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int a, b, c;
   
 
    for (a = 1; a <= 500; a++)
    {
        for (b = 1; b <= 500; b++)
        {
            for (c = 1; c <=500; c++)
            {
                if (((c*c) + (b*b)) == (a*a))
                    cout << a << " " << b << " " << c<< endl;
            }
        }
    }
естественно, ответ не верный. Как исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2014, 14:49     Пифагоровы тройки (простая задача)
Посмотрите здесь:

C++ Простая задача.
пифагоровы тройки,безцелочисленное деление и другое C++
C++ Простая задача?
простая задача C++
Простая задача C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zer0mail
2189 / 1872 / 187
Регистрация: 03.07.2012
Сообщений: 6,667
Записей в блоге: 1
27.04.2014, 15:12     Пифагоровы тройки (простая задача) #2
1. В чем ответ неверный ?
2. Насчет "естественно": Вы что, специально пишите программу с ошибками?
randy92
7 / 7 / 2
Регистрация: 23.04.2014
Сообщений: 59
27.04.2014, 15:17  [ТС]     Пифагоровы тройки (простая задача) #3
1. выдается огромный список рандомных чисел до 500.
2. потому что я новичок, только учусь. на ошибках
zer0mail
2189 / 1872 / 187
Регистрация: 03.07.2012
Сообщений: 6,667
Записей в блоге: 1
27.04.2014, 15:34     Пифагоровы тройки (простая задача) #4
Какие первые 5 строк - там что, неверные числа (проверь на калькуляторе)?
Список и должен быть большой, поскольку попадут и 5 3 4 и 5 4 3 и n*(5 3 4)...

Было бы интересно вывести список, где все три числа взаимно-простые.
randy92
7 / 7 / 2
Регистрация: 23.04.2014
Сообщений: 59
27.04.2014, 15:44  [ТС]     Пифагоровы тройки (простая задача) #5
338 130 312
дальше левое крайнее число только увеличивается. то есть бред какой-то
zer0mail
2189 / 1872 / 187
Регистрация: 03.07.2012
Сообщений: 6,667
Записей в блоге: 1
27.04.2014, 15:47     Пифагоровы тройки (простая задача) #6
338^2=130^2+312^2. Просто строки до 338 покинули консольный буфер. Пиши в файл.
И сделай вывод троек, где a>b>=c.
randy92
7 / 7 / 2
Регистрация: 23.04.2014
Сообщений: 59
27.04.2014, 15:54  [ТС]     Пифагоровы тройки (простая задача) #7
я не умею писать в файл) так-то алгоритм верный?
zer0mail
2189 / 1872 / 187
Регистрация: 03.07.2012
Сообщений: 6,667
Записей в блоге: 1
27.04.2014, 15:57     Пифагоровы тройки (простая задача) #8
Запусти программу из командной строки: prog >aaa.txt
Или поставь точку останова после вывода.
В принципе верный, только многие тройки повторяются дважды.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2014, 16:01     Пифагоровы тройки (простая задача)
Еще ссылки по теме:

C++ Простая задача
простая задача C++
C++ Получить все пифагоровы тройки натуральных чисел, каждое из которых не превышает N

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
_Ellen_
15 / 15 / 5
Регистрация: 28.11.2013
Сообщений: 50
27.04.2014, 16:01     Пифагоровы тройки (простая задача) #9
Алгоритм верный, но да, лишние повторы...
C++
1
2
3
4
5
for (a = 1; a <= 500; a++)
    for (b = 1; b <= a; b++)
        for (c = 1; c <= b; c++)
            if (((c*c) + (b*b)) == (a*a))
                cout << a << " " << b << " " << c << endl;
Yandex
Объявления
27.04.2014, 16:01     Пифагоровы тройки (простая задача)
Ответ Создать тему
Опции темы

Текущее время: 09:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru