#include <iostream>
#include <string>
using namespace std;
char c1[10];
char c2[10];
string Add(string &a,string&b)
{
string ans;
int carry;
int i,j,k;
int add1,add2,sum;
i=a.size()-1;
j=b.size()-1;
k=i>j?i:j;
if(i>j)
ans=a;
else
ans=b;
for(carry=0;k>=0;i--,j--,k--)
{
add1 = i<0 ? 0 : a[i]-'0';
add2 = j<0 ? 0 : b[j]-'0';
sum = (add2 + add1 + carry>=10)?add1+add2+carry-10:add1+add2+carry;
carry = (add1 + add2 + carry >=10) ? 1:0;
ans[k]=sum+'0';
}
if(carry)
{
a = "1";
return a+ans;
}
else
return ans;
}
int main()
{
int i;
string str;
cin>>str;
for(i=0; i<str.size(); i++)
c1[str[i]-'0']++;
str = Add(str, str);
for(i=0; i<str.size(); i++)
c2[str[i]-'0']++;
for(i=0; i<10; i++)
{
if(c1[i]!=c2[i])
{
cout<<"No"<<endl;
break;
}
}
if(i==10)
cout<<"Yes"<<endl;
cout<<str<<endl;
return 0;
}
1023
最新推荐文章于 2024-04-05 12:33:30 发布