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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.04.2014, 16:01
Ответ Создать тему
Опции темы

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