【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。
标签:复健,Java,Scanner,Python,System,len,int,str,input 来源: https://www.cnblogs.com/JodyJoy1201/p/13967347.html