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

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

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

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

27.04.2014, 14:49. Просмотров 1300. Ответов 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;
            }
        }
    }
естественно, ответ не верный. Как исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2014, 14:49     Пифагоровы тройки (простая задача)
Посмотрите здесь:

пифагоровы тройки,безцелочисленное деление и другое - C++
Пожалуйста ,помогите!Задача: 1) Дано натуральное число .Записать его в обратном порядке не применяя операцмю целочислового деления. 2)...

Найти все «пифагоровы тройки» в заданном диапазоне чисел - C++
Необходимо найти все «пифагоровы тройки» в заданном диапазоне чисел — натуральные решения уравнения x2+y2=k2, где x, y и k лежат в...

Получить все пифагоровы тройки натуральных чисел, каждое из которых не превышает N - C++
Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) получить все пифагоровы тройки натуральных...

Простая задача. - C++
Пожалуйста помогите кто может, очень нужно Даны натуральное число n, действительные числа a1,...,an (1 и n это нижние индексы). Выяснить...

Простая задача? - C++
Здравствуйте! После участия в ДЛКШ я понял, что очень много не знаю даже о самых элементарных вещах в Си\Си++. Например, обыкновенная...

простая задача - C++
Недавно руководством одной известной автомобильной телепередачи «Верхняя шестерня» было решено провести обзор автомобилей на солнечных...

простая задача - C++
Напишите программу, которая подводит итоги Олимпийских игр. Программа должна получить от пользователя число медалей разного достоинства,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zer0mail
2330 / 1956 / 192
Регистрация: 03.07.2012
Сообщений: 7,013
Записей в блоге: 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
2330 / 1956 / 192
Регистрация: 03.07.2012
Сообщений: 7,013
Записей в блоге: 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
2330 / 1956 / 192
Регистрация: 03.07.2012
Сообщений: 7,013
Записей в блоге: 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
2330 / 1956 / 192
Регистрация: 03.07.2012
Сообщений: 7,013
Записей в блоге: 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++
Помогите пожалуйста решить. Имеется в наличии 3 арбуза. Найти самый тяжелый. Примечание: решить задачу, используя язык...

Простая задача - C++
Друзья, в общем если нарушаю какие-либо правила заранее извиняюсь. В общем говорю честно я студент, и в с++ пока что в общем то 0. Прошу...

Простая задача с массивами - C++
Добрый день, на сайте ********/asp/gb.asp?page2=1&amp;id=9&amp;page=1 есть задача, Я ее решил, у меня все работает, и когда я подставляю в...

простая задача на цикл - C++
Определите сумму всех элементов последовательности, завершающейся числом 0. Числа, следующие за нулем, считывать не нужно. Вот...

Задача не простая.Нужно подумать! - C++
Привет! Не могу додуматься как бы решить. Напишите программу, которая строит &quot;квадрат&quot; из знаков '*' заданного размера. Используйте...


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

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

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