Java
package PAT_A1023_Have_Fun_with_Numbers;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
List<Integer> a = new ArrayList<>();
for (int i = s.length() - 1; i >= 0; i--) {
a.add(s.charAt(i) - '0');
}
List<Integer> b = new ArrayList<>();
int t = 0;
for (Integer integer : a) {
int sum = integer + integer + t;
b.add(sum % 10);
t = sum / 10;
}
if (t != 0) {
b.add(t);
}
List<Integer> c = new ArrayList<>(b);
Collections.sort(a);
Collections.sort(c);
if (a.equals(c)) {
System.out.println("Yes");
} else {
System.out.println("No");
}
for (int i = b.size() - 1; i >= 0; i--) {
System.out.print(b.get(i));
}
}
}
C++
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
string s;
vector<int> a;
int main() {
cin >> s;
for (int i = s.size() - 1; i >= 0; i--) a.push_back(s[i] - '0');
vector<int> b;
int t = 0;
for (int i = 0; i < a.size(); i++) {
int s = a[i] + a[i] + t;
b.push_back(s % 10);
t = s / 10;
}
if (t) b.push_back(t);
vector<int> c = b;
sort(a.begin(), a.end());
sort(c.begin(), c.end());
if (a == c) puts("Yes");
else puts("No");
for (int i = b.size() - 1; i >= 0; i--) cout << b[i];
return 0;
}