#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)
沒有留言:
張貼留言