void main(List<String> arguments) {
int x = 999;
List<int> palindromeList = [];
int num;
for(x;x>=100;x--){
int y = 999;
for(y;y>=100;y--){
num = x * y;
if(palindrome(num.toString())){
palindromeList.add(num);
}
}
}
print(palindromeList.reduce(max));
}
У тебя же после первого цикла по y переменная y становится равной 99 и дальше цикл по y уже не выполняется.
Но список в задаче не имеет смысла. Ведь нужно только максимальное значение, а не все возможные значения.
void main() {
int res = 0;
for (int x = 999; x * x > res; x--) {
for (int y = x; y >= 100; y--) {
int num = x * y;
if (num <= res) { break; }
if (palindrome(num.toString())) { res = num; }
}
}
print(res);
}
В нëм нужно найти максимальной число произведения двух трëхзначных чисел. Должно получится 906609. У меня не выходит. Там для примера был паллиндром из двухзначных чисел и мой код работал правильно и получтлся ответ правильный 9009.
Но для трëхзначных не работает.