zoukankan      html  css  js  c++  java
  • PAT:1069. The Black Hole of Numbers (20) AC

    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    const int AIM=6174;
    
    int n;
    int arr[4];
    
    bool NonIncreasingOrder(int a,int b)
    {
      return a>b;
    }
    
    bool NonDecreasingOrder(int a,int b)
    {
      return a<b;
    }
    
    int toNum()          //得到这个数字
    {
      int sum=0;
      for(int i=0 ; i<4 ; ++i)
      {
        sum=sum*10+arr[i];
      }
      return sum;
    }
    
    void toArr()
    {
      for(int i=0 ; i<4 ; ++i)    //拆解数字
      {
        arr[i]=n%10;
        n/=10;
      }
    }
    int main()
    {
    
      scanf("%d",&n);
      int MIN,MAX;            //最小排列数,最大排列数
      
      while(1)
      {
        toArr();                //拆解
        sort(arr,arr+4,NonIncreasingOrder);    //生成最大数
        MAX=toNum();
        sort(arr,arr+4,NonDecreasingOrder);    //生成最小数
        MIN=toNum();
        n=MAX-MIN;
        printf("%04d - %04d = %04d
    ",MAX,MIN,n);
        if(n==0 || n==AIM)        //n是4个相同数字(包括0000的情况,不用额外考虑),或者剪到最后了
          break;
      }
      return 0;
    }
  • 相关阅读:
    markdown文件的基本常用编写
    寒假作业安排及注意点
    Day2
    Day1
    Python格式化
    Python 遍历字典的键值
    python 判断是否为空
    git 回退版本
    Python获取当前文件夹位置
    Python3, Python2 获取当前时间
  • 原文地址:https://www.cnblogs.com/Evence/p/4316647.html
Copyright © 2011-2022 走看看