я написал код для задачи 4 @https://projecteuler.net/problem=4Самый большой палиндром продукт JAVA
вот вопрос:
палиндромной число читается одинаково в обоих направлениях. Самый большой палиндром , изготовленный из продукта двух двузначных чисел, составляет 9009 = 91 × 99.
Найти самый большой палиндром из продукта двух 3-значных цифр .
Вот мой код
Я проверил его и для 1-го цикла он перебирает в 2 раза (при г = 100 и 101), а для 2-го цикла он перебирает на 991 (J = 991)
Можете ли вы просмотреть мой код и помочь мне найти, где проблема?
public class Main
{
public static void main (String [] args)
{
int resultMult =0;
String strResultMult = "";
String even1stHalf = "";
String even2ndHalf = "";
String maxPalindromEven = "";
String odd1stHalf = "";
String odd2ndHalf = "";
String maxPalindromOdd = "";
for (int i=100;i<=999;i++)
{
for(int j=100;j<=999;j++)
{
resultMult = i*j;
strResultMult = String.valueOf(resultMult);
if(strResultMult.length()%2==0)
{
for (int k=0;k<strResultMult.length()/2 ;i++)
{
even1stHalf = even1stHalf + strResultMult.charAt(k);
}
for (int l=strResultMult.length()-1;l>=strResultMult.length()/2;l--)
{
even2ndHalf = even2ndHalf + strResultMult.charAt(l);
}
if(even1stHalf.equals(even2ndHalf))
{
maxPalindromEven = strResultMult;
}
}
else
{
for (int m=0;m<strResultMult.length()/2 ;m++)
{
odd1stHalf = odd1stHalf + strResultMult.charAt(m);
}
for (int n=strResultMult.length()-1;n>strResultMult.length()/2 ;n--)
{
odd2ndHalf = odd2ndHalf + strResultMult.charAt(n);
}
if(odd1stHalf.equals(odd2ndHalf))
{
maxPalindromOdd = strResultMult;
}
}
}
}
}
}
В чем проблема? Лично я не хочу быть вашим рецензентом кода. – duffymo
разберите код: реализовать метод 'логическое isPalindrome (значение String)' –
Ty Дмитрий, собирается сохранить его в моем сознании – Przemek85