输入包括一个整数n,(1 ≤ n ≤ 10^5)
输出一个整数,表示n的相反数
1325
6556
import java.util.Scanner; /** * @author yanglaiyi * @title: 相反数 * @projectName 牛课刷题之栈 * @description: TODO * @date 2020/4/15 9:10 */ public class 相反数 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int anInt = sc.nextInt(); StringBuffer sb = new StringBuffer(String.valueOf(anInt)); sb.reverse();//反转字符串 String s = sb.toString(); s=s.replaceAll("\\b(0)\\1", "");//去掉前缀的0 //直接Integer.valueOf(sb).intValue()是更好的操作 System.out.println(Integer.valueOf(s).intValue()+anInt);//得到结果 } }
#include<cstdio> (802)#include<cstring> #include<string> (765)#include<iostream> #include<algorithm> using namespace std; int main(){ string in; cin>>in; int i=in.length()-1,a; a = stoi(in); while(in[i]=='0'){i--;} in = in.substr(0,i+1); reverse(in.begin(),in.end()); printf("%d\n",a+stoi(in)); }
public class Demo { public static void main(String[] args) { Scanner sc= new Scanner(System.in); int num =sc.nextInt(); int i = reverseSum2(num); System.out.println(i); } public static int reverseSum1(int num){ // 讲获取的num转换成字符串 String s=""+num; // 定义一个反转后的字符串为:"" String str=""; // 倒着遍历转换后的字符串 for (int i = s.length()-1 ; i >= 0; i--) { // 获取当前字符 char c =s.charAt(i); // 将字符加到字符串上 str=str+c; } // 将获得反转后的字符串转换成数字 int num1 = Integer.parseInt(str); // 获取之和 int sum=num+num1; return sum; } public static int reverseSum2(int num){ // 获取的num转换成字符串 String s=num+""; StringBuffer str = new StringBuffer(s); // 反转字符串 str.reverse(); String s1=new String(str); int num1 = Integer.parseInt(s1); // 获取之和 int sum=num+num1; return sum; } }