#include <iostream>
using namespace std;
void SelectionSort(char *str,int len);
void StrReverse(char *str,int len);
int GetNext(int num);
int main()
{
int num[20000],count=1;
cin>>num[0];
cout<<num[0];
while(1)
{
num[count]=GetNext(num[count-1]);
cout<<" -> "<<num[count];
int flag=1;
for(int i=0;i<count;i++)
{
if(num[i]==num[count])
{
flag=0;
break;
}
}
if(!flag)
{
break;
}
count++;
}
return 0;
}
void SelectionSort(char *str,int len)
{
int k=0;
int temp;
for(int i=0;i<len-1;i++)
{
k=i;
for(int j=i+1;j<len;j++)
{
if(str[k]>str[j])
{
k=j;
}
}
if(i!=k)
{
temp=str[k];
str[k]=str[i];
str[i]=temp;
}
}
}
void StrReverse(char *str,int len)
{
char temp;
for(int i=0;i<len/2;i++)
{
temp=str[i];
str[i]=str[len-i-1];
str[len-i-1]=temp;
}
}
int GetNext(int num)
{
int a,b,len;
char str[100];
sprintf(str,"%d",num);
len=strlen(str);
SelectionSort(str,len);
sscanf(str,"%d",&b);
StrReverse(str,len);
sscanf(str,"%d",&a);
return a-b;
}
6174问题
最新推荐文章于 2022-04-09 12:42:09 发布