Изменение переменной C++ внутри цикла while ⇐ C++
-
Гость
Изменение переменной C++ внутри цикла while
Я новичок в C++ и пытаюсь пройти [Проект Эйлера][1]. Я дошел до [Проблемы 4][2] (я знаю, впечатляет), и у меня возникли проблемы с тем, что, как мне кажется, является областью действия моих переменных внутри цикла while. Если вы не знаете, задача просит вас найти наибольшее произведение палиндромов двух трехзначных целых чисел. Я создал цикл while, который должен проверять, является ли продукт палиндромом (который я поместил в другую функцию - и он работает нормально).
Вот мой текущий код (хотя он много раз менялся — я старался сделать его наиболее определенным, поэтому все остальные if):
int main() { интервал int1 = 999; интервал int2 = 999; int nProduct = int1 * int2; интервал nFinalProduct = 0; пока (int1 >= 100) { if (paltest(nProduct) == 1 && nProduct > nFinalProduct && int2 > 100) { nFinalProduct = nProduct; --int2; } иначе if (paltest(nProduct) == 1 && nProduct > nFinalProduct && int2 == 100) { nFinalProduct = nProduct; --int1; } иначе, если (paltest(nProduct) == 0 && int2 > 100) { --int2; } иначе, если (paltest(nProduct) == 0 && int2 == 100) { --int1; } } cout = 100){ int nProduct = int1 * int2; if (paltest(nProduct) == 1 && nProduct > nFinalProduct && int2 > 100){ nFinalProduct = nProduct; --int2; } else if (paltest(nProduct) == 1 && nProduct > nFinalProduct && int2 == 100){ nFinalProduct = nProduct; интервал2 = 999; --int1; } иначе, если (paltest(nProduct) == 0 && int2 > 100){ --int2; } иначе, если (paltest(nProduct) == 0 && int2 == 100){ интервал2 = 999; --int1; } } cout
Я новичок в C++ и пытаюсь пройти [Проект Эйлера][1]. Я дошел до [Проблемы 4][2] (я знаю, впечатляет), и у меня возникли проблемы с тем, что, как мне кажется, является областью действия моих переменных внутри цикла while. Если вы не знаете, задача просит вас найти наибольшее произведение палиндромов двух трехзначных целых чисел. Я создал цикл while, который должен проверять, является ли продукт палиндромом (который я поместил в другую функцию - и он работает нормально).
Вот мой текущий код (хотя он много раз менялся — я старался сделать его наиболее определенным, поэтому все остальные if):
int main() { интервал int1 = 999; интервал int2 = 999; int nProduct = int1 * int2; интервал nFinalProduct = 0; пока (int1 >= 100) { if (paltest(nProduct) == 1 && nProduct > nFinalProduct && int2 > 100) { nFinalProduct = nProduct; --int2; } иначе if (paltest(nProduct) == 1 && nProduct > nFinalProduct && int2 == 100) { nFinalProduct = nProduct; --int1; } иначе, если (paltest(nProduct) == 0 && int2 > 100) { --int2; } иначе, если (paltest(nProduct) == 0 && int2 == 100) { --int1; } } cout = 100){ int nProduct = int1 * int2; if (paltest(nProduct) == 1 && nProduct > nFinalProduct && int2 > 100){ nFinalProduct = nProduct; --int2; } else if (paltest(nProduct) == 1 && nProduct > nFinalProduct && int2 == 100){ nFinalProduct = nProduct; интервал2 = 999; --int1; } иначе, если (paltest(nProduct) == 0 && int2 > 100){ --int2; } иначе, если (paltest(nProduct) == 0 && int2 == 100){ интервал2 = 999; --int1; } } cout
Мобильная версия