1023 Have Fun with Numbers (20 分)
思路
大整数翻倍,利用字符串读入,存进数组翻倍即可
代码
#include<bits/stdc++.h>
using namespace std;
int A[25];
int B[25]={0};
int C[25]={0};
int main()
{
string s;
bool flag = true;
cin>>s;
int len = s.size();
for(int i=0;i<len;i++)
{
A[i]= int(s[len-1-i])-'0';
B[i+1] = (A[i]*2)/10;
B[i] += (A[i]*2)%10;
C[i]= B[i];
}
if(B[len]!=0)
{
flag = false;
C[len]=B[len];
len+=1;
}
else
{
sort(A,A+len);
sort(C,C+len);
for(int i=0;i<len;i++)
{
if(A[i]!=C[i])
flag = false;
}
}
if(flag)
cout<<"Yes"<<endl;
else cout<<"No"<<endl;
for(int i=len-1;i>=0;i--)
cout<<B[i];
cout<<endl;
}