高精度乘法
#include<bits/stdc++.h>
using namespace std;
int hashd[11];
int main(void)
{
// freopen("pat0314/in.txt","r",stdin);
string n;
cin>>n;
string twoN;
int jingwei = 0;
for(int i = n.size() - 1;i >= 0;i--)
{
// cout<<n[i]<<endl;
int temp = (n[i] - '0') * 2 + jingwei;
// cout<<"temp = "<<temp<<endl;
int res = temp % 10;
jingwei = temp / 10;
twoN += to_string(res);
}
if(jingwei != 0)
{
twoN += to_string(jingwei);
}
reverse(twoN.begin(),twoN.end());
// cout<<twoN<<endl;
string s = n;
for(int i = 0;i<s.size();i++)
{
hashd[s[i] - '0']++;
}
long long doublen;
string str = twoN;
for(int i = 0;i<str.size();i++)
{
hashd[str[i] - '0']--;
}
int num = 0;
for(int i = 0;i<=9;i++)
{
if(hashd[i] != 0)
{
num++;
}
}
if(num == 0)
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
cout<<twoN<<endl;
return 0;
}