Нахождение пифагоровых триплетов, с суммой 1000, без ошибок, но не работает

Вот код

#include <iostream>
#include <cmath>

int main()
{
float c, d;
for(int a = 1; a < 1000; ++a) {
for(int b = 1; b < 1000; ++b) {
c = (a*a) + (b*b);
c = sqrt(c);
d = a + b + c;
if(d==1000) {
std::cout << a << "," << b << "," << c << std::endl;
break;
}
}
}
system("pause");
return 0;
}

Не могу запустить его в моей системе Dev-C ++ 4.9.9.0.

Но когда попробовал это в онлайн-компиляторе, и он дал вывод, но со следующим выводом:

200,375,425
375,200,425

Disallowed system call: SYS_fork

0

Решение

Я полагаю, что онлайн-компилятор запрещает вызов

system("pause");

так как это создает новый процесс. Попробуйте удалить эту строку и посмотреть, работает ли она лучше!

Другой способ сделать паузу в конце программы — включить iostream вверху, а затем дождаться ввода в конце перед возвратом:

//At the top
#include <iostream>

// Before return 0;
std::cin.get();
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]