为了得到一个数的”相反数”,我们将这个数的数字顺序颠倒,然后再加上原先的数得到”相反数”。例如,为了得到1325的”相反数”,首先我们将该数的数字顺序颠倒,我们得到5231,之后再加上原先的数,我们得到5231+1325=6556.如果颠倒之后的数字有前缀零,前缀零将会被忽略。例如n = 100, 颠倒之后是1.
输入描述:
输入包括一个整数n,(1 ≤ n ≤ 10^5)
输出描述:
输出一个整数,表示n的相反数
输入例子1:
1325
输出例子1:
6556
这个题我的思路是先判断n是不是个位为0的数,如果是则去掉0,不是则将数首尾颠倒,这样思路就清晰明了
import java.util.Scanner;
class Reverse1{
void Reversed1(int n){
int sum = 0;
int m=n;
String c1="";
if(n%10==0){
while(m%10==0){ //若n尾数为0,则除以10
m/=10;
}
}
String s=Integer.toString(n); //将数字转换为字符串
for (int i = s.length() - 1; i >= 0; i--){
c1 += s.charAt(i); //与上一题一样,将字符串反向输出,代替reverse(),
}
Integer c2= Integer.parseInt(c1); //再将字符串转换为数值
sum=n+c2;
System.out.println(sum);
}
}
public class Main{
public static void main(String[] args){
Reverse1 r= new Reverse1();
Scanner scan= new Scanner(System.in);
r.Reversed1(scan.nextInt());
}
}