_(:з)∠)_ 感觉和数有关的了 long long 必然爆啊..偷懒被自己坑了。
自己写个加法函数就好了,多大都不爆的那种!!!!啊哈哈哈哈 (已疯.......
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int char2int(char c) {
return int(c - '0');
}
char int2char(int n) {
return char('0' + n);
}
string Double(string s) {
string temp;
int len = s.size();
int digit = 0, carry = 0, sum = 0;
for (int i = len - 1; i >= 0; i--) {
sum = char2int(s[i]) * 2 + carry;
digit = sum % 10;
carry = sum / 10;
temp.push_back(int2char(digit));
}
if(carry != 0)
temp.push_back(int2char(carry));
return temp;
}
int main() {
bool tag = true;
string N,N2,tempN2;
cin >> N;
tempN2 = N2 = Double(N);
int len = N.size();
int len2 = N2.size();
sort(&N[0],&N[len]);
sort(&N2[0],& N2[len2]);
if (len != len2)
tag = false;
else {
for (int i = 0; i < len; i++) {
if (N[i] != N2[i])
tag = false;
}
}
if (tag)
cout << "Yes" << endl;
else
cout << "No" << endl;
for (int i = len2 - 1; i >= 0; i--) {
cout << tempN2[i];
}
system("pause");
return 0;
}