[编程题] 相反数
时间限制:1秒
空间限制:32768K
为了得到一个数的"相反数",我们将这个数的数字顺序颠倒,然后再加上原先的数得到"相反数"。例如,为了得到1325的"相反数",首先我们将该数的数字顺序颠倒,我们得到5231,之后再加上原先的数,我们得到5231+1325=6556.如果颠倒之后的数字有前缀零,前缀零将会被忽略。例如n = 100, 颠倒之后是1.
输入描述:
输入包括一个整数n,(1 ≤ n ≤ 10^5)
输出描述:
输出一个整数,表示n的相反数
输入例子1:
1325
输出例子1:
6556 代码: import java.math.BigDecimal; import java.util.Scanner; public class Main { /** * @param 卞恩泽 2017/9/18 牛客网 魔法币 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System.in); String num=in.nextLine(); char []s1=num.toCharArray(); String s2=""; int signal = 0 ; for(int i=0;i<s1.length;i++) { if(s1[s1.length-1-i]!='0'&&signal==0) { signal=1; s2=s2+s1[s1.length-1-i]; } else if(s1[s1.length-1-i]!='0'&&signal==1) s2=s2+s1[s1.length-1-i]; else if(s1[s1.length-1-i]=='0'&&signal==1) s2=s2+s1[s1.length-1-i]; } int result=Integer.valueOf(s2)+Integer.valueOf(num); System.out.println(result); } }