首页 > 试题广场 >

相反数

[编程题]相反数
  • 热度指数:295 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
为了得到一个数的"相反数",我们将这个数的数字顺序颠倒,然后再加上原先的数得到"相反数"。例如,为了得到1325的"相反数",首先我们将该数的数字顺序颠倒,我们得到5231,之后再加上原先的数,我们得到5231+1325=6556.如果颠倒之后的数字有前缀零,前缀零将会被忽略。例如n = 100, 颠倒之后是1.

输入描述:
输入包括一个整数n,(1 ≤ n ≤ 10^5)


输出描述:
输出一个整数,表示n的相反数
示例1

输入

1325

输出

6556
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        String n = String.valueOf(num);
        int flag = n.length()-1;
        while(n.charAt(flag)=='0'&&flag!=0){
            flag--;
        }
        String result = "";
        for(;flag>=0;flag--){
            result += n.charAt(flag);
        }
        int sum = num + Integer.parseInt(result);
        System.out.println(sum);
    }
}
发表于 2018-08-02 22:54:51 回复(1)