一个神奇的数字。

时间限制
100 ms

内存限制
65536 kB

代码长度限制
8000 B

判题程序
Standard

作者
CHEN, Yue

给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。

例如,我们从6767开始,将得到

7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
7641 - 1467 = 6174
... ...

现给定任意4位正整数,请编写程序演示到达黑洞的过程。

输入格式:

输入给出一个(0, 10000)区间内的正整数N。

输出格式:

如果N的4位数字全相等,则在一行内输出“N - N = 0000”;否则将计算的每一步在一行内输出,直到6174作为差出现,输出格式见样例。注意每个数字按4位数格式输出。

输入样例1:

6767

输出样例1:

7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174

输入样例2:

2222

输出样例2:

2222 - 2222 = 0000
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;void demo(int n)
{int a[5]={0};int k=0;int one=0,two=0;int i,j;while(n){a[k++]=n%10;n=n/10;}sort(a,a+4);for(i=0,j=3;i<4,j>=0;i++,j--){one=one*10+a[j];two=two*10+a[i]; }if(one-two==0)printf("%04d - %04d = 0000\n",one,two);else printf("%04d - %04d = %04d\n",one,two,one-two);if((one-two!=0)&&(one-two!=6174))demo(one-two);
}
int main()
{int n;cin>>n;demo(n);return 0;  }

转载于:https://www.cnblogs.com/qiangz/p/8447219.html

PATB 1019. 数字黑洞 (20)相关推荐

  1. C++学习之路 | PTA乙级—— 1019 数字黑洞 (20分)(精简)

    1019 数字黑洞 (20分) 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这 ...

  2. 1019 数字黑洞 (20)

    给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...

  3. 1019 数字黑洞 (20 分)(c语言)

    给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有" ...

  4. 1019. 数字黑洞 (20)

    给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...

  5. 15行代码AC——1019 数字黑洞 (20分) 甲级1069. The Black Hole of Numbers (20)(解题报告)

    立志用更少的代码做更高效的表达 PAT甲级最优题解-->传送门 Pat乙级最优化代码+题解+分析汇总-->传送门 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非 ...

  6. c语言数字黑洞123问题,PAT-B 1019 数字黑洞 (C语言)

    题目 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有&q ...

  7. PAT 乙级 1019. 数字黑洞 (20) Java版

    给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...

  8. 1019. 数字黑洞 (20)-PAT乙级真题

    给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...

  9. PTA | 1019 数字黑洞 (20分)

    给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有" ...

  10. PAT乙级 1019 数字黑洞 (20 分)

    题目内容 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有 ...

最新文章

  1. android 系统的切图方式_UI设计切图规范
  2. PHP解决约瑟夫环问题
  3. 工作流引擎的硬功夫之1-表单自定义
  4. python爬虫beautifulsoup实例-Python爬虫学习(二)使用Beautiful Soup库
  5. c语言stoi函数源码,一系列相关函数的通用函数(例如std::stoi,std::stof,std::stod等)...
  6. Zookeeper之Leader选举源码分析
  7. Mysql设置忽略大小写
  8. Docker(三)关于docker 的应用场景
  9. hdu---1172猜数字
  10. java 知识积累_java学习知识积累-spring常用注解
  11. Redhat6.5中搭建Postfix邮件系统
  12. 离散数学---序偶,笛卡尔积,自反,闭包
  13. 采用现场总线协议的压力变送器特性介绍
  14. 三七女生节,解密阿里女程序员们的代码诗!
  15. SEC再收中国互金企业招股书 融360成立简普科技拟融资2亿美元
  16. SOP:Ubuntu20安装微信
  17. OriginPro8.5画双柱状图
  18. 关于 Kubernetes中Service使用Metallb实现LoadBalancer的一个Demo
  19. Yii框架zii.widgets.grid自定义按钮
  20. Frequent Pattern Tree 频繁模式数

热门文章

  1. mysql一对多查询合并多的一方的数据。
  2. 神器--通过Workspaces来编辑本地文件
  3. 整理学 nodejs 资源
  4. HLG1116-选美大赛
  5. Core Animation演示
  6. 理解 Delphi 的类(十) - 深入方法[21] - 开放数组参数
  7. Zookeeper11问
  8. vue获取路径参数和请求参数
  9. false在python什么意思_python – `x [False]`在numpy中做什么?
  10. String的创建和常量池的关系,intern()相关问题