6 条题解

  • 1
    @ 2024-1-7 21:33:55
    #include <iostream>
    #include <algorithm>
    #include <cstring>
    using namespace std;
    int main(){
        int n;
        cin >> n;
        while(true){
            char a[5], a2[5];
            sprintf(a, "%d", n); //将数字转换为字符数组 
            sprintf(a2, "%d", n);
            sort(a, a+strlen(a), less<int>()); //重组最大数
            sort(a2, a2+strlen(a2), greater<int>());//重组最小数
            int m = atoi(a); //将字符串转换为int 
            n = atoi(a2);
            int ans = n - m;//相减结果 
            printf("%d-%d=%d\n", n, m, ans);
            n = ans;
            if(ans == 6174)
                break; //遇到6174时结束循环 
        }
        return 0;
    }
    
    • 0
      @ 2023-4-15 14:17:16
      #include<iostream>
      #include<algorithm>
      using namespace std;
      int n;
      int cz(int n,bool m){
      	int k;
      	int a[]={n/1000,n/100%10,n/10%10,n%10};
      	sort(a,a+4);
      	if(!m)k=a[0]*1000+a[1]*100+a[2]*10+a[3];//如果m为false,返回最小数
      	else k=a[3]*1000+a[2]*100+a[1]*10+a[0];//否则输出最大数
      	return k;
      }
      int main(){
      	cin>>n;
      	while(n!=6174){
      		int a=cz(n,1),b=cz(n,0);
      		cout<<a<<"-"<<b<<"="<<a-b<<endl;
      		n=a-b;
      	}
      	return 0;
      }
      
      • 0
        @ 2022-5-30 18:57:26
        /*****************************************
        备注:
        ******************************************/
        #include <queue>
        #include <math.h>
        #include <stack>
        #include <stdio.h>
        #include <iostream>
        #include <vector>
        #include <iomanip>
        #include <string.h>
        #include <algorithm>
        using namespace std;
        #define LL long long
        const int N = 1e5 + 10;
        const int INF = 0x3f3f3f3f;
        int main()
        {
        	int n ;
        	cin >> n;
        	while(n != 6174)
        	{
        		int a[10];
        		int m = n;
        		memset(a,0,sizeof(a));
        		while(m)
        		{
        			a[m%10]++;
        			m/=10;
        		}
        		int ans =0;
        		for(int i = 9 ; i >=0 ; i--)
        		{
        			for(int j= 0 ;j < a[i] ; j++)
        			{
        				ans = ans *10 + i;
        			}
        		}
        		int sum = 0;
        		for(int i = 0 ; i < 10 ; i++)
        		{
        			for(int j= 0 ;j < a[i] ; j++)
        			{
        				sum = sum *10 + i;
        			}
        		}
        		cout <<ans << "-"<< sum << "=" << ans-sum<<endl;
        		n = ans-sum;
        	}
        	return 0;
        }
        
        • -1
          @ 2024-10-18 18:01:33

          #include #include #include using namespace std;

          int n,a[6],b[6];

          bool cmp(int x,int y) { return x > y; }

          int main() { cin >> n; while(n != 6174) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); int num = n,sum = 0; n = 0; for(int i = 1;num != 0;i++) { a[i] = num%10; b[i] = num%10; num /= 10; } sort(a+1,a+5,cmp); sort(b+1,b+5); for (int i = 1;i <= 4;i++) { n = n10+a[i]; sum = sum10+b[i]; } cout << n << "-" << sum << "=" << n-sum << endl; n = n-sum; } return 0; }

          • -1
            @ 2024-6-16 9:19:06

            #include #include #include #include #include #include #include #include #include using namespace std; int n; int cz(int n,bool m){ int k; int a[]={n/1000,n/100%10,n/10%10,n%10}; sort(a,a+4); if(!m)k=a[0]*1000+a[1]*100+a[2]*10+a[3]; else k=a[3]*1000+a[2]*100+a[1]*10+a[0]; return k; } int main(){ cin>>n; while(n!=6174){ int a=cz(n,1),b=cz(n,0); cout<<a<<"-"<<b<<"="<<a-b<<endl; n=a-b; }

            return 0;}

            • -1
              @ 2024-6-16 9:18:12
              #include<bits/stdc++.h>
              using namespace std;
              int n;
              int cz(int n,bool m){
              	int k;
              	int a[]={n/1000,n/100%10,n/10%10,n%10};
              	sort(a,a+4);
              	if(!m)k=a[0]*1000+a[1]*100+a[2]*10+a[3];
              	else k=a[3]*1000+a[2]*100+a[1]*10+a[0];
              	return k;
              }
              int main(){
              	cin>>n;
              	while(n!=6174){
              		int a=cz(n,1),b=cz(n,0);
              		cout<<a<<"-"<<b<<"="<<a-b<<endl;
              		n=a-b;
              	}
              	return 0;
              }
              
              • 1

              信息

              ID
              1014
              时间
              1000ms
              内存
              128MiB
              难度
              4
              标签
              递交数
              328
              已通过
              147
              上传者