Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

почему выдаёт неверный когд?? с++

kotolanchik Профи (823), закрыт 4 года назад
Сумма квадратов длин катетов а и b прямоугольного треугольника равна квадрату длины гипотенузы с: а2 + b2 = с2. Тройка натуральных чисел, удовлетворяющих этому равенству, называется Пифагоровыми числами. Составить программу нахождения основных троек Пифагоровых чисел, используя следующие формулы:
a=u*v;
b = (u2 – v2)/2;
с = (u2 + v2)/2,
где u и v – взаимно простые нечетные натуральные числа, u > v и значение u не превосходит 20.

include iostream
include stdbool.h
include math.h
using namespace std;

int nod(int a, int b);

int main()
{
for (int u = 1; u <= 20; u++)
{
for (int v = 1; v <= 19; v++)
{
if (u > v)
{
if (nod(u, v) == 1) {
int a = 0, b = 0, c = 0;
a = u * v;
b = (pow(u, 2) - pow(v, 2)) / 2;
c = (pow(u, 2) + pow(v, 2)) / 2;
cout << "a: " << a << "\tb: " << b << "\tc: " << c;
}
}
}
}
}

int nod(int c, int d)
{
int a = c, b = d;
while (a && b)
if (a >= b)
a %= b;
else
b %= a;
if ((((b || a) == 1) && ((c % 2) == 1) && ((d % 2) == 1))==1) { return true; }
else { false; }
}
Лучший ответ
Батаев Дмитрий Просветленный (22179) 4 года назад
Навскидку скобки проставь if (((b||a)==1)&& ((b%2)==1))
Батаев ДмитрийПросветленный (22179) 4 года назад
Сначала вычислить логику, а потом сравнить
kotolanchik Профи (823) дело, по-моему, в циклах, которые в мейне ((((b || a) == 1) && ((c % 2) == 1) && ((d % 2) == 1))==1)
kotolanchikПрофи (823) 4 года назад
а
все разобрался
спасибо
проблема была действительно в этом
Батаев Дмитрий Просветленный (22179) молодец
Остальные ответы
Похожие вопросы