题目四:
一个回文数指的是从左向右和从右向左读都一样的数字。最大的由两个两位数乘积构成的回文数是9009 = 91 * 99.
找出最大的有由个三位数乘积构成的回文数。
package Blog1; public class Euler4 { public static void main(String[] args) { int multi=1; int maxtemp=0; for(int i=100;i<=999;i++){ for(int j=100;j<=999;j++){ multi=i*j; if(ifPalindrome(multi)){ System.out.println(multi); } } } } public static boolean ifPalindrome(int temp) { boolean flag=true; String tempString=Integer.toString(temp); char[] tempChar=tempString.toCharArray(); for(int i=0;i<=tempChar.length-1;i++){ if(tempChar[i]!=tempChar[tempChar.length-1-i]){ flag=false; break; } } return flag; } }
906609
本题总结:
- 判断是否相等时思路要明确,到底有几种判断方法,不要一条道走到黑,比如,这道题第一次编写就是一直想着,转换成逆序的字符串,然后比较两个字符串,其实非常容易造成异常。
- 对数组的操作要灵活。
题目五
2520是最小的能被1-10中每个数字整除的正整数。
最小的能被1-20中每个数整除的正整数是多少?