时间限制:1秒
空间限制:32768K
输入描述:
输入包括一个整数n,(1 ≤ n ≤ 10^5)
输出描述:
输出一个整数,表示n的相反数
输入例子1:
1325
输出例子1:
6556
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
int main(){
int n;
cin >> n;
vector<int> a;
for (; n>=1;){
a.push_back(n % 10);
n = n / 10;
}
//int size1 = a.size();
// for (int i = 0; i < size1; i++){
// cout << a[i] << endl;//a即为翻转后的n;
// }
vector<int> b = a;
reverse(b.begin(), b.end());//把b变成n的形式
while(a[0] == 0&&a.size()>=1){
a.erase(a.begin());
}
vector <int> add1;
int size2 = int(a.size());
// cout << "size2" << size2 << endl;
int size3 = int(b.size())-1;
for (int i = size2-1; i >= 0;i--){
add1.push_back(a[i]+b[size3]);
size3--;
}
//cout << "size3" << size3 << endl;
while (size3 >= 0){
add1.push_back(b[size3]);
size3--;
}
int size4 = add1.size();
//for (int i = 0; i < size4; i++){
// cout << add1[i] << " ";
//}
for (int i = size4-1; i>=1; i--){
if (add1[i] >= 10){
add1[i] = add1[i] % 10;
add1[i - 1]++;
}
}
int size5 = add1.size();
for (int i = 0; i <size5; i++){
cout << add1[i];
}
return 0;
}