1019

#include<iostream>
#include<string>
#include<vector>
#include<iomanip>
#include<algorithm>


using namespace std;

inline int str_to_min(int a)
{
    string tmp = to_string(a);
    while (tmp.size() < 4)
    {
        tmp = tmp + "0";
    }

    sort(tmp.begin(), tmp.end());
    unsigned ret = stoi(tmp);
    return ret;
}
inline int str_to_max(int a)
{
    string tmp = to_string(a);
    while (tmp.size() <4)
    {
        tmp = tmp + "0";
    }

    sort(tmp.begin(), tmp.end(), [](char chr1, char chr2) {return chr1>chr2; });
    unsigned ret = stoi(tmp);
    return ret;
}

int main()
{
    int n;
    cin >> n;

    int max_tmp = str_to_max(n);
    int min_tmp = str_to_min(n);
    int r = max_tmp -min_tmp ;
    if (r == 0)
    {
        cout << n << " - " << n << " = 0000";
    }
    else
    {
        cout.setf(ios::right);
        cout.fill('0');
        while (r!=6174)
        {
            cout <<setw(4)<< max_tmp << " - " << setw(4)<< min_tmp <<" = "<< setw(4)<< r<<endl;
            n = r;
            max_tmp = str_to_max(n);
            min_tmp = str_to_min(n);
            r = max_tmp - min_tmp;
            if (r==0)
            {
                cout << setw(4) << max_tmp << " - " << setw(4) << min_tmp << " = " << "0000" ;
                return 0;
            }
        }
        cout << setw(4)<< max_tmp << " - " << setw(4)<< min_tmp << " = " << setw(4)<< r;
    }


    cout << endl;
    system("pause");
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • day 59 第二章 Mr Willy Wonka's Factory In the evenings,after...
    123逍遥游阅读 610评论 0 0
  • 每个行业,都有一个别人不知道的岗位存在着。比如说广告编排。 说白了,就是一个频道24小时播出的所有广告的编辑排序,...
    戎马未央阅读 464评论 0 0
  • 感赏昨日儿子1点多才睡,今天坚持按正常时间起床,晨读,打卡。 体训老师周末要出差,问是否能改为今天,我短信问儿子,...
    玲03阅读 245评论 0 1
  • 今天做项目的时候,发现一个问题,就是切换账号A->B的以后发现,还留有A账号的数据(公司app数据都是跟账号有关,...
    墨狂之逸才阅读 1,086评论 0 50
  • 最初的我们 丝毫没有察觉时间。 转眼, 却到了各奔东西的时候了。 或许吧,我难过了 为什么不去珍惜。 有人说:大了...
    柒玖之间阅读 184评论 1 1