1217: 【一维数组】数学黑洞6174(blackhole)

题目描述

已知:一个任意的四位正整数(全相同的除外,如1111)。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。即:7641-1467=6174。将永远出不来。求证:所有四位数数字(全相同的除外),均能得到6174,输出掉进黑洞的步数。

输入

一个四位整数。

输出

掉进黑洞的过程。

样例输入

复制

3120
样例输出

复制

3210-123=3087
8730-378=8352
8532-2358=6174

点个赞吧,还有关注!!!

上代码!!! 

#include <bits/stdc++.h>

using namespace std;

#define N 1000

int x[5];

int main() {

    int n;

    cin >> n;

    while (true) {

        x[0] = n / 1 % 10;

        x[1] = n / 10 % 10;

        x[2] = n / 100 % 10;

        x[3] = n / 1000 % 10;

        sort(x, x + 4);

        int max1 = x[3] * 1000 + x[2] * 100 + x[1] * 10 + x[0], min1 = x[0] * 1000 + x[1] * 100 + x[2] * 10 + x[3];

        n = max1 - min1;

        cout << max1 << "-" << min1 << "=" << n << endl;

        if (n == 6174) {

            break;

        }

    }

    return 0;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呱呱呱~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值