牛客网 【编程题】进制回文数
如果一个数字从左边读和从右边读一样,那么这个数字就是一个回文数。例如32123就是一个回文数;17在某种意义上也是一个回文数,因为它的二进制型式——10001——是一个回文数。
请你帮忙开发一个程序,判断一个数n在任意进制(2-16)下是否有回文数。
输入描述:
输入包含多组数据。
每组数据包括一个正整数n (1≤n<2^31)。
输出描述:
对应每组数据,如果n在2-16进制下存在回文数,则输出“Yes”;否则输出“No”。
示例1
输入
32123 17
输出
Yes Yes
解答
用的是牛客网得javaScript V8
function huiwen(x){
let str = x + ''
let newStr = ''
for(let len = str.length, i = len - 1; i >= 0 ; i--) {
newStr += str[i]
}
return newStr === str
}
var line =null
while(line = readline()){
var l = line.split(" ")
for (var j=0; j< l.length;j++){
var result = "No";
for (var i =2; i<=16;i++){
var str = parseInt(l[j]).toString(i).split("")
if (huiwen(str)){
result = "Yes"
}
}
console.log(result)
}}