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;
    }
    
    
    • 0
      @ 2026-2-4 14:26:50
      #include<bits/stdc++.h>
      using namespace std;
      int min_int(int a)
      {
          int c[3];
          c[0]=a/100%10;
          c[1]=a/10%10;
          c[2]=a%10;
          sort(c,c+3);
          return c[0]*100+c[1]*10+c[2];
      }
      int max_int(int a)
      {
          int c[3];
          c[0]=a/100%10;
          c[1]=a/10%10;
          c[2]=a%10;
          sort(c,c+3);
          return c[2]*100+c[1]*10+c[0];
      }
      int main()
      {
          int a=0;
          int b;
          cin>>b;
          while(1)
          {
              if(b==495)break;
              b=max_int(b)-min_int(b);
              a++;
          }
          cout<<a;
      }
      
      • -2
        @ 2025-11-27 11:55:05

        C++ :

        #include <iostream>
        using namespace std;
        int main() {
        int n = 0;
        cin >> n;
         for (int t = 0; ; t++) {
         if (n == 495) {
         cout << t << endl;
         break;
         }
         int m0 = n % 10, m1 = n / 10 % 10, m2 = n / 100;
         int tmax = 0, tmin = 0;
         if (m0 >= m1 && m1 >= m2) {
         tmax = m0 * 100 + m1 * 10 + m2;
         tmin = m2 * 100 + m1 * 10 + m0;
         } else if (m0 >= m2 && m2 >= m1) {
         tmax = m0 * 100 + m2 * 10 + m1;
         tmin = m1 * 100 + m2 * 10 + m0;
         } else if (m1 >= m0 && m0 >= m2) {
         tmax = m1 * 100 + m0 * 10 + m2;
         tmin = m2 * 100 + m0 * 10 + m1;
         } else if (m1 >= m2 && m2 >= m0) {
         tmax = m1 * 100 + m2 * 10 + m0;
         tmin = m0 * 100 + m2 * 10 + m1;
         } else if (m2 >= m0 && m0 >= m1) {
         tmax = m2 * 100 + m0 * 10 + m1;
         tmin = m1 * 100 + m0 * 10 + m2;
         } else { // m2 >= m1 && m1 >= m0
         tmax = m2 * 100 + m1 * 10 + m0;
         tmin = m0 * 100 + m1 * 10 + m2;
         }
         n = tmax - tmin;
         }
        return 0;
        }
        
        • 1

        Information

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