6 条题解

  • 0
    @ 2025-9-22 21:18:03
    #include<stdio.h>
    int main()
    {
        int n,i,a,j,temp,min,max,sum,z;
        char b[5];
        scanf("%d",&n);
        while(n--){
            sum=0;
            z=-1;
            scanf("%d",&a);
            if(a==6174){
                printf("1\n");
                break;
            }
            else{
                while(1){
                b[0]=a/1000;
                b[1]=a/100%10;
                b[2]=a/10%10;
                b[3]=a%10;
                for(i=0;i<4;i++){
                    for(j=i+1;j<4;j++){
                        if(b[i]>b[j]){
                            temp=b[i];
                            b[i]=b[j];
                            b[j]=temp;
                    }
                }
            }max=b[3]*1000+b[2]*100+b[1]*10+b[0];
            min=b[0]*1000+b[1]*100+b[2]*10+b[3];
            a=max-min;
            sum++;
            if(a==z){
                break;
            }z=a;
            }printf("%d\n",sum);
            }   
        }       
        return 0;
    }
    

    信息

    ID
    140
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    (无)
    递交数
    850
    已通过
    264
    上传者