3 solutions

  • 0
    @ 2026-5-27 21:37:35

    极其暴力的算法

    #include<bits/stdc++.h>
    using namespace std;
    int max(int x){
        int a=x%10;
        x/=10;
        int b=x%10;
        x/=10;
        int c=x%10;
        int m,mi,l;
        if(a>b&&a>c) m=a;
        else if(a>b||a>c) mi=a;
        else l=a;
        if(b>a&&b>c) m=b;
        else if(b>a||b>c) mi=b;
        else l=b;
        if(c>a&&c>b) m=c;
        else if(c>b||c>a) mi=c;
        else l=c;
        return m*100+mi*10+l;
    }
    int min(int x){
        int a=x%10;
        x/=10;
        int b=x%10;
        x/=10;
        int c=x%10;
        int m,mi,l;
        if(a>b&&a>c) m=a;
        else if(a>b||a>c) mi=a;
        else l=a;
        if(b>a&&b>c) m=b;
        else if(b>a||b>c) mi=b;
        else l=b;
        if(c>a&&c>b) m=c;
        else if(c>b||c>a) mi=c;
        else l=c;
        return l*100+mi*10+m;
    }
    int main(){
        int ab,cnt=0;
        cin>>ab;
        while(ab!=495){
            cnt++;
            ab=max(ab)-min(ab);
        }
        cout<<cnt;
    }
    
    

    Information

    ID
    41
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    4
    Tags
    # Submissions
    27
    Accepted
    15
    Uploaded By