Когда значения «a = 1», «b = 2» в первом проходе внутреннего цикла завершаются неудачно (поскольку √5 не является целым числом), цикл снова оборачивается, с «a = 1» и'b = 3' и завершается неудачно, потому что √10 не является целым числом, и, действительно, нет значения N, кроме нуля (которое исключено из вашего цикла), для которого √ (N 2 +1 2 ) само по себе является целым числом.
Таким образом, пока вы не исчерпаете диапазон, в котором отдельные целочисленные значения разделимы, ваш код продолжит работу.
код, связанный с «pass» и условиями if(b>=c) break;
и (тем более) if( (a-- + b-- + c) == 7) pass=1;
абсолютно непостижим.Перепишите там код более четко.Я даже не собираюсь пытаться угадать, что это делает;Я предполагаю, что он предназначен для ограничения диапазона таким образом, чтобы «a + b + c» не превышало 7, или около того, но я не думаю, что он достигнет желаемого эффекта - даже если вам когда-либо удавалось его выполнить.
Обращаясь к странице Project Euler, вы должны найти пифагорейский триплет 'a, b, c', такой что 'a