1. 程式人生 > >[編程題] 相反數 網易2018校招

[編程題] 相反數 網易2018校招

names -- 個數 space ret 如果 整數 描述 namespace

為了得到一個數的"相反數",我們將這個數的數字順序顛倒,然後再加上原先的數得到"相反數"。例如,為了得到1325的"相反數",首先我們將該數的數字順序顛倒,我們得到5231,之後再加上原先的數,我們得到5231+1325=6556.如果顛倒之後的數字有前綴零,前綴零將會被忽略。例如n = 100, 顛倒之後是1.

輸入描述:
輸入包括一個整數n,(1 ≤ n ≤ 10^5)



輸出描述:
輸出一個整數,表示n的相反數

輸入例子1:
1325

輸出例子1:
6556

#include<iostream>
#include<cmath>
using namespace std;
int a(int n);
int main()
{
int n;
cin>>n;
int l=a(n);
int res=n;
while(l)
{
res+=(n%10)*pow(10,l-1);
n/=10;
l--;
}
cout<<res;
}
int a(int x)//返回數字位數
{
int leng=0;
while(x)
{
x/=10;
leng++;
}
return leng;
}



[編程題] 相反數 網易2018校招