Problem Description
Input
Output
Example Input
1000 1500 3000
Example Output
999 8991 8082 8532 6174 5 5085 7992 7173 6354 3087 8352 6174 7 2997 7173 6354 3087 8352 61746
(注:数学黑洞得到最多7个自然数,即有限的)
#include <stdio.h> #include <string.h> #include <stdlib.h> int count; void f(int n) { int a[5]={0}; int i,j,t,max,min,flag; for(i=0;i<4;i++) { a[i]=n%10; n/=10; } for(i=0;i<3;i++) { for(j=0;j<3-i;j++) { if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } max=0; min=0; for(i=0;i<4;i++) { max=max*10+a[3-i]; min=min*10+a[i]; } flag=max-min; if(flag==6174) { count++; printf("%d \n",flag); printf("%d\n",count); } else { printf("%d ",flag); count++; f(flag); } } int main() { int n; while(~scanf("%d",&n)) { count=0; f(n); } return 0; }