PAT_1069. The Black Hole of Numbers

来源:互联网 发布:php分割价格函数 编辑:程序博客网 时间:2024/06/05 06:20
#include <iostream>#include <algorithm>#include <string.h>using namespace std;int N,num[4];int cmp(int a,int b){return a>b;}bool PrepareAndJudge(){memset(num,0,sizeof(num));int j=0,temp=N;while(temp!=0){num[j]=temp%10;temp/=10;j++;}for(int i=1;i<4;i++){if(num[i]!=num[0])return true;}return false;}int Trans(){int A[4],B[4],C[4];for(int i=0;i<4;i++)A[i]=B[i]=num[i];sort(A,A+4,cmp);for(int i=0;i<4;i++)printf("%d",A[i]);printf(" - ");sort(B,B+4);for(int i=0;i<4;i++)printf("%d",B[i]);printf(" = ");for(int i=3;i>=0;i--){if(A[i]-B[i]>=0)C[i]=A[i]-B[i];else{A[i-1]--;C[i]=A[i]+10-B[i];}}int result = 0;for(int i=0;i<4;i++){result = result*10+C[i];printf("%d",C[i]);}printf("\n");for(int i=0;i<4;i++)num[i]=C[i];return result;}int main(){scanf("%d",&N);if(PrepareAndJudge()==false)printf("%d - %d = 0000",N,N);else{while(1){if(Trans()==6174)break;}}return 0;}

 

这题之前做过,所以很快就解决了。

原创粉丝点击