题目:回文数就是从前往后和从后往前读都一样的数。由两个2位数相乘得到的最大回文乘积是 9009 = 91 × 99。
找出由两个3位数相乘得到的最大回文乘积。
Java:
int max = 0;
for (int i=100;i<1000;i++){
for (int j = 100;j<1000;j++){
int palindrome = i*j;
StringBuilder s = new StringBuilder(String.valueOf(palindrome));
String num = s.reverse().toString();
if(num.equals(String.valueOf(palindrome))){
Log.e("回文数",num);
if(palindrome>max){
max = palindrome;
}
}
}
}
Log.e("最大回文数",max+"");
python3:
max = 0
for i in range(100,1000):
for j in range(100,1000):
palindrome = i*j
num = str(palindrome)[::-1] #把这个数当字符串反转后相等就是回文
if (num == str(palindrome)):
print("回文数",palindrome)
if palindrome>max:
max = palindrome;
print("最大是",max)
图片来自优美图
青年希望表现自己的优越性,在荣誉和金钱之间,更喜欢前者,因为他们还没有感觉到对金钱的需要。
—— 亚里士多德
网友评论