排序与检索6174问题

来源:互联网 发布:ubuntu怎么扩展内存 编辑:程序博客网 时间:2024/05/21 06:18
<pre name="code" class="cpp">#include <iostream>#include <cstring>using namespace std;int get_next(int x){int a,b,n;char s[10];sprintf(s,"%d",x);//ת»¯Îª×Ö·û´® n=strlen(s);for(int i=0;i<n;i++)//ðÅÝÅÅÐò {for(int j=i+1;j<n;j++){if(s[i]>s[j]){char t=s[i];s[i]=s[j];s[j]=t;}} }sscanf(s,"%d",&b);//×Ö·û´®·´´® for(int i=0;i<n/2;i++){char t=s[i];s[i]=s[n-1-i];//×¢ÒâÊý×éÒª¶à¼õ1Ïà±ÈÆð×Ö·û´®µÄ³¤¶È¶øÑÔ s[n-1-i]=t; }sscanf(s,"%d",&a);return a-b;}int num[2000],count;int main(){scanf("%d",&num[0]);printf("%d",num[0]);count=1;for(;;){num[count]=get_next(num[count-1]);printf("->%d",num[count]);int found=0;for(int i=0;i<count;i++){printf("num[i]=%d num[count]=%d\n",num[i],num[count]);if(num[i]==num[count]){found=1;break;}//printf("1\n");//count++;printf("count=%d\n",count);}if(found){break;}printf("1\n");count++;}printf("\n");return 0;}



0 0