首页 > 试题广场 >

相反数

[编程题]相反数
  • 热度指数: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
public class testxf {
    public static void main(String[] args) {
        Scanner sin =new Scanner(System.in);
        int a = sin.nextInt();

        int temp = a;
        int a_1 = 0;
        while (temp>0){
            a_1=a_1*10+temp%10;
            temp/=10;
        }

        int result = a_1+a;
        System.out.println(result);
    }
}

发表于 2021-03-14 22:15:10 回复(0)
class Solution(object):
    def sumWithReverse(self,num):
        str_num_reverse = str(num)[::-1]
        return sum(num+int(str_num_reverse))

发表于 2020-03-08 22:18:36 回复(0)
n =int(input())
pre =n
now =[]
idx =1
whilen:
    now.append(n %10)
    idx *=10
    n //=10
ans =0
for idx, i in enumerate(now):
    ans +=i *10**(len(now) -idx -1)
ans +=pre
print(ans)
python3解法
编辑于 2019-08-02 00:01:53 回复(0)
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)
importjava.util.*;
publicclassMain{
    publicstaticvoidmain(String[] args){
        Scanner sc=newScanner(System.in);
        inta=sc.nextInt();
        List<Integer> temp=newArrayList<Integer>();
        intn=a;
        while(n!=0){
            inttmp;
            tmp=n%10;
            n=n/10;
            temp.add(tmp); 
        }
        intm=0;
        for(intj=0;j<temp.size();j++){
            m=m*10+temp.get(j);
        }
        System.out.println(a+m);
    }
}
发表于 2018-08-01 20:29:24 回复(0)