网易2018校园招聘编程题真题-[编程题] 相反数

时间:2021-03-25 18:48:06

问题描述

时间限制:1秒
空间限制:32768K

为了得到一个数的”相反数”,我们将这个数的数字顺序颠倒,然后再加上原先的数得到”相反数”。例如,为了得到1325的”相反数”,首先我们将该数的数字顺序颠倒,我们得到5231,之后再加上原先的数,我们得到5231+1325=6556.如果颠倒之后的数字有前缀零,前缀零将会被忽略。例如n = 100, 颠倒之后是1.

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

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

C代码

//字符串
#include<bits/stdc++.h>//包含所有头文件
using namespace std;

typedef long long LL;
const double PI=acos(-1.0);

int ans(string s){
    int a=0;
    for(int i=0,j=0;i<s.length();i++,j++){
        int x=1;
        a=a*10+(s[i]-'0');
    }
    return a;
}

int main(){
// freopen("F://inp.txt","r",stdin);
// freopen("F://outp.txt","w",stdout);
    string s;
    while(cin>>s){
        string s1(s.rbegin(),s.rend());
        cout<<ans(s)+ans(s1);
    }
    return 0;
}