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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
randy92
7 / 7 / 2
Регистрация: 23.04.2014
Сообщений: 59
#1

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

27.04.2014, 14:49. Просмотров 1117. Ответов 8
Метки нет (Все метки)

Прямоугольный треугольник может иметь все стороны,
выраженные целыми числами. Множество троек целых значений сторон
прямоугольного треугольника называется тройками Пифагора. Эти три стороны
должны удовлетворять соотношению, по которому сумма квадратов двух сторон
(катетов) равна квадрату третьей стороны (гипотенузы). Найдите все тройки
Пифагора, в которых и катеты, и гипотенуза не больше 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;
            }
        }
    }
естественно, ответ не верный. Как исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zer0mail
2307 / 1933 / 192
Регистрация: 03.07.2012
Сообщений: 6,922
Записей в блоге: 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
2307 / 1933 / 192
Регистрация: 03.07.2012
Сообщений: 6,922
Записей в блоге: 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
2307 / 1933 / 192
Регистрация: 03.07.2012
Сообщений: 6,922
Записей в блоге: 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
2307 / 1933 / 192
Регистрация: 03.07.2012
Сообщений: 6,922
Записей в блоге: 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++
C++ Получить все пифагоровы тройки натуральных чисел, каждое из которых не превышает N
C++ Задача простая Года n<=100

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

Или воспользуйтесь поиском по форуму:
_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     Пифагоровы тройки (простая задача)
Ответ Создать тему
Опции темы

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