首页 > 试题广场 >

数字翻转

[编程题]数字翻转
  • 热度指数:31128 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如:
如果 X = 123,则rev(X) = 321;
如果 X = 100,则rev(X) = 1.
现在给出整数x和y,要求rev(rev(x) + rev(y))为多少?

输入描述:
输入为一行,x、y(1 ≤ x、y ≤ 1000),以空格隔开。


输出描述:
输出rev(rev(x) + rev(y))的值
示例1

输入

123 100

输出

223
function rev(num) {
    return Number(num.toString().split('').reverse().toString().replace(/,/g, ''));
}

while(line=readline()) {
    var lines = line.split(' '),
        x = parseInt(lines[0]),
        y = parseInt(lines[1]);
}

console.log(rev(rev(x) + rev(y)));

发表于 2019-08-19 22:14:50 回复(0)
var lines = readline();
var x = +lines.split(" ")[0];
var y = +lines.split(" ")[1];
function rev(str){
    str = ""+str;
    let str_arr = str.split("");
    let arr = [];
    for(let i=str_arr.length-1; i>=0; i--){
        arr.push(str_arr[i]);
    }
    while(arr[0]===0){
        arr.splite(0,1);
    }
    return +(arr.join(""));
}
console.log(rev(rev(x) + rev(y)));
基础题吧……我觉得我要先把数字转成字符串再转成数组简直就是** = = 滚去看别人的好方法了~
发表于 2018-07-23 09:35:17 回复(0)
var data = readline().split(' '),
    x = parseInt(data[0]),
    y = parseInt(data[1]);

function rev(n){
    return parseInt(n.toString().split('').reverse().join(''))
}

print(rev(rev(x) + rev(y)))
发表于 2017-09-29 10:07:56 回复(0)
var readline = require('readline');
var rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

rl.on('line', function (line) {
    var inputArr = line.split(' ');
    inputArr.map(function (item) {
        return parseInt(item);
    });
    
    var x = inputArr[0];
    var y = inputArr[1];
    
    console.log(rev(rev(x) + rev(y)));
});


function rev(num) {
    return parseInt(num.toString().split('').reverse().join(''));
}


这里的关键在于以下几点:
1. 通过将数字转化为字符串,再将字符串转化为数组,我们可以很方便的调用api操作数组。
2. 通过parseInt函数,我们可以很容易地解决反转之后去除前导0的问题,这样,我们就可以得到最终结构了。
3. 虽然这些内容都是可以写在一起的,但是更好地做法是将一个单独的功能封装为函数,这样就可以避免复制、粘贴这样的冗余操作了。

发表于 2017-09-03 23:47:41 回复(0)
//javascript操作字符串
var readline = require('readline');
const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout
});
rl.on('line', function(line){
    var tokens = line.split(' ');
    //先转换成字符串,翻转去前导零后返回
    function rev(num){
        var str = num.toString().split('').reverse().join('').replace(/^0+/, '');
        return parseInt(str);
    }
    console.log(rev(rev(parseInt(tokens[0]))+rev(parseInt(tokens[1]))));   
});

发表于 2017-08-08 10:03:18 回复(0)