PAT:1019. 数字黑洞 (20) AC(同甲级1069)
生活随笔
收集整理的這篇文章主要介紹了
PAT:1019. 数字黑洞 (20) AC(同甲级1069)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#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\n",MAX,MIN,n); if(n==0 || n==AIM) //n是4個相同數字(包括0000的情況,不用額外考慮),或者剪到最后了 break; } return 0; }
轉載于:https://www.cnblogs.com/Evence/p/4316649.html
總結
以上是生活随笔為你收集整理的PAT:1019. 数字黑洞 (20) AC(同甲级1069)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ipo新规是什么意思
- 下一篇: 天价片酬被限制之后 现在的影视公司和明星