1019. 数字黑洞 (20)PAT乙级 &1069. The Black Hole of Numbers (20) PAT甲级

你离开我真会死。 提交于 2019-12-07 16:46:44

传送门乙级
传送门甲级
坑点:最后的表达式是有空格的

#include<stdio.h>
#include<algorithm>

using namespace std;


bool cmp(int a,int b){
    return a>b;
}

void toArray(int n,int num[]){
    for(int i=0;i<4;i++){
        num[i]=n%10;
        n/=10;
    }
}

int toNum(int num[]){
    int sum=0;
    for(int i=0;i<4;i++){
        sum=sum*10+num[i];
    }
    return sum;
}


int main(){
    int MIN,MAX;
    int n;
    int num[5];
    scanf("%d",&n);
    do{
        toArray(n,num);
        sort(num,num+4);
        MIN=toNum(num);
        sort(num,num+4,cmp);
        MAX=toNum(num);
        n=MAX-MIN;
        printf("%04d - %04d = %04d\n",MAX,MIN,n);

    }while(n!=0&&n!=6174);
    return 0;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!