【PAT甲级 前导0,排序】1069 The Black Hole of Numbers (20 分) C++ 全部AC
生活随笔
收集整理的這篇文章主要介紹了
【PAT甲级 前导0,排序】1069 The Black Hole of Numbers (20 分) C++ 全部AC
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
一直循環相減即可,直到結果為6174或者四個數字相同就結束循環
題解 C++
#include<iostream> #include<stdio.h> #include<algorithm> using namespace std; int cmp1(int a, int b) {return a > b; } int cmp2(int a, int b) {return a < b; } int main() {int num;cin >> num;//循環計算int cha;do {//分離四位int saveNum = num;int arr[4];for (int i = 0; i < 4; i++) {arr[i] = num % 10;num /= 10;}//是否四位都相同if (arr[0] == arr[1] && arr[1] == arr[2] && arr[2] == arr[3]) {printf("%04d - %04d = %04d", saveNum, saveNum, 0);system("pause");return 0;}//大到小sort(arr, arr + 4, cmp1);int big = arr[0] * 1000 + arr[1] * 100 + arr[2] * 10 + arr[3];//小到大sort(arr, arr + 4, cmp2);int small = arr[0] * 1000 + arr[1] * 100 + arr[2] * 10 + arr[3];cha = big - small;printf("%04d - %04d = %04d\n", big, small, cha);num = cha;} while (cha != 6174);system("pause"); }總結
以上是生活随笔為你收集整理的【PAT甲级 前导0,排序】1069 The Black Hole of Numbers (20 分) C++ 全部AC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【PAT甲级 大整数BigInteger
- 下一篇: 【PAT甲级 BigDecimal科学计