【Java&Python双管齐下复健002】回文数和反转数
Python的回文数
def palindrome(str):
if (len(str) == 1):
return True
else:
i,j = 0, len(str)-1
while(i<j):
if(str[i]!=str[j]):
return False
i +=1
j -=1
return True
n= input()
if (palindrome(n)):
print("Yes")
else:
print("No")
Python的反转数
n = eval(input())
l = len(str(n))
while( l > 0 ):
print(int(n%10),end="")
n =n/10
l -= 1
Java的回文数
import java.util.Scanner;
public class Palindrome {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
if (Palindrom(n)) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}
public static boolean Palindrom(int i){
String str = String.valueOf(i);
int len = str.length();
int L = 0;
int R = len -1;
if(len == 1){
return true;
}
while(L<R){
if(str.charAt(L)!=str.charAt(R)){
return false;
}
L++;
R--;
}
return true;
}
}
Java的反转数
import java.util.Scanner;
public class inverse {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int n = input.nextInt();
while(n>0){
System.out.print(n%10);
n /= 10;
}
}
}
思路总结:
-
-
反转数:取余输出,本体除以十取整。在Python中需要用math方法中的floor向下取整,而java直接/10得到的就是整数。
今天两个题思路都很简单,但是因为因为数值类型卡了很久的bug。问题不大,多练习,第二天KO。