PAT-A1069. The Black Hole of Numbers (20)(数学)

来源:互联网 发布:sql语句中系统时间 编辑:程序博客网 时间:2024/06/03 20:11
#include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>#include <cmath>using namespace std;int a[4];void toArray(int n){int k = 0;memset(a, 0, sizeof(a));while (n){a[k++] = n%10;n /= 10;}} int toNum(){int x = 0;for (int i = 3; i >= 0; i--){int n = pow(10,3-i) + 0.5;x += a[i] *  n;}return x;}int cmp_a(const void *a, const void *b){return *(int*)a - *(int*)b;}int cmp_d(const void *a, const void *b){return *(int*)b - *(int*)a;}int main(){//freopen("in.txt", "r", stdin);//freopen("out.txt", "w", stdout);int n = 0, sub = 0, num1 = 0, num2 = 0;scanf("%d", &n);toArray(n);while (true){qsort(a, 4, sizeof(int), cmp_d);num1 = toNum();qsort(a, 4, sizeof(int), cmp_a);num2 = toNum();sub = num1 - num2;printf("%04d - %04d = %04d\n", num1, num2, sub);if (sub == 0 || sub == 6174)break;toArray(sub);}return 0;}

0 0
原创粉丝点击