PATB 1019. 数字黑洞 (20)
一个神奇的数字。
给定任一个各位数字不完全相同的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)相关推荐
- C++学习之路 | PTA乙级—— 1019 数字黑洞 (20分)(精简)
1019 数字黑洞 (20分) 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这 ...
- 1019 数字黑洞 (20)
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...
- 1019 数字黑洞 (20 分)(c语言)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有" ...
- 1019. 数字黑洞 (20)
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...
- 15行代码AC——1019 数字黑洞 (20分) 甲级1069. The Black Hole of Numbers (20)(解题报告)
立志用更少的代码做更高效的表达 PAT甲级最优题解-->传送门 Pat乙级最优化代码+题解+分析汇总-->传送门 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非 ...
- c语言数字黑洞123问题,PAT-B 1019 数字黑洞 (C语言)
题目 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有&q ...
- PAT 乙级 1019. 数字黑洞 (20) Java版
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...
- 1019. 数字黑洞 (20)-PAT乙级真题
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...
- PTA | 1019 数字黑洞 (20分)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有" ...
- PAT乙级 1019 数字黑洞 (20 分)
题目内容 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有 ...
最新文章
- android 系统的切图方式_UI设计切图规范
- PHP解决约瑟夫环问题
- 工作流引擎的硬功夫之1-表单自定义
- python爬虫beautifulsoup实例-Python爬虫学习(二)使用Beautiful Soup库
- c语言stoi函数源码,一系列相关函数的通用函数(例如std::stoi,std::stof,std::stod等)...
- Zookeeper之Leader选举源码分析
- Mysql设置忽略大小写
- Docker(三)关于docker 的应用场景
- hdu---1172猜数字
- java 知识积累_java学习知识积累-spring常用注解
- Redhat6.5中搭建Postfix邮件系统
- 离散数学---序偶,笛卡尔积,自反,闭包
- 采用现场总线协议的压力变送器特性介绍
- 三七女生节,解密阿里女程序员们的代码诗!
- SEC再收中国互金企业招股书 融360成立简普科技拟融资2亿美元
- SOP:Ubuntu20安装微信
- OriginPro8.5画双柱状图
- 关于 Kubernetes中Service使用Metallb实现LoadBalancer的一个Demo
- Yii框架zii.widgets.grid自定义按钮
- Frequent Pattern Tree 频繁模式数
热门文章
- mysql一对多查询合并多的一方的数据。
- 神器--通过Workspaces来编辑本地文件
- 整理学 nodejs 资源
- HLG1116-选美大赛
- Core Animation演示
- 理解 Delphi 的类(十) - 深入方法[21] - 开放数组参数
- Zookeeper11问
- vue获取路径参数和请求参数
- false在python什么意思_python – `x [False]`在numpy中做什么?
- String的创建和常量池的关系,intern()相关问题