#include <iostream>
#include <vector>
using namespace std;
int main()
{
string s;
while(cin>>s)
{
if(s=="0") break;
cout<<"Original number was "<<s<<endl;
string bigToSmall=s,smallToBig=s;
int chain=0;
vector<string> list;
while(1)
{
chain++;
bigToSmall=s,smallToBig=s;
for(int i=0;i<bigToSmall.size();i++)
{
for(int j=0;j<bigToSmall.size();j++)
{
if(bigToSmall[i]>bigToSmall[j]) swap(bigToSmall[i],bigToSmall[j]);
if(smallToBig[i]<smallToBig[j]) swap(smallToBig[i],smallToBig[j]);
}
}
int big=stoi(bigToSmall),small=stoi(smallToBig),repeat=0;
s=to_string(big-small);
cout<<big<<" - "<<small<<" = "<<s<<endl;
for(int i=0;i<list.size();i++)
{
if(s==list[i])
{
repeat=1;
break;
}
}
if(repeat) break;
list.push_back(s);
}
cout<<"Chain length "<<chain<<endl<<endl;
}
return 0;
}
2020年8月14日 星期五
263 - Number Chains
程式碼:
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言