#include<iostream>
#include<algorithm>
using namespace std;
long long circle[1001];
long long n;
bool iscircle(long long xx,long long &start)
{
for(long long i=1;i<=n-1;i++)
if(xx==circle[i]){
start=i;
return true;
};
start=-1;
return false;
}
void work(long long x)
{
n=0;
long long xx=x;
long long start=-1;
while(!iscircle(xx,start))
{
long long num[15],m=0;
while(xx!=0)
{
num[++m]=xx%10;
xx/=10;
}
sort(num+1,num+1+m);
long long small=0,large=0;
for(long long i=1;i<=m;i++)
{
small=small*10+num[i];
}
for(long long i=m;i>=1;i--)
{
large=large*10+num[i];
}
xx=circle[++n]=large-small;
}
for(long long i=start;i<=n-1;i++)
{
cout<<circle[i]<<' ';
}
cout<<endl;
}
int main()
{
long long x;
while(cin>>x)
work(x);
return 0;
}
by PolandBallOffical @ 2019-02-07 21:39:24
代码怎么成这样子?
by PolandBallOffical @ 2019-02-07 21:40:04
```cpp
#include <iostream>
//有一个插入代码的按钮
```
by ChengZe @ 2019-02-07 22:06:19
` ```cpp `
`你的代码`
` ``` `
by _Life_ @ 2019-02-07 22:11:18
```cpp
#include<iostream>
#include<algorithm>
using namespace std;
long long circle[1001],num[20];
long long n,m;
long long a[200]={0,1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};
long long len(long long x)
{
for(long long i=1;i<=10;i++)
if((x/a[i])<10) return i;
}
bool iscircle(long long xx,long long &start)
{
for(long long i=1;i<=n-1;i++)
if(xx==circle[i]){
start=i;
return true;
};
start=-1;
return false;
}
void qjs(long long xx)
{
for(int i=1;i<=10;i++) if(a[i]==xx) {num[i]=1; return;};
for(int i=1;i<=m;i++)
{
num[i]=xx%10;
xx/=10;
}
return;
}
void work(long long x)
{
n=0;
long long xx=x;
long long start=-1;
while(!iscircle(xx,start))
{
qjs(xx);
sort(num+1,num+1+m);
long long small=0,large=0;
for(long long i=1;i<=m;i++)
small=small*10+num[i];
for(long long i=m;i>=1;i--)
large=large*10+num[i];
xx=circle[++n]=large-small;
}
for(long long i=start;i<=n-1;i++)
cout<<circle[i]<<' ';
cout<<endl;
}
int main()
{
long long x;
while(cin>>x)
{
m=len(x);
work(x);
}
return 0;
}
```
by PolandBallOffical @ 2019-02-18 22:16:16