【PAT B1019/A1069】数字黑洞
问题描述
任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:
1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;
2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位);
3)求两个数的差,得到一个新的四位数(高位零保留)。
重复以上过程,最后一定会得到的结果是6174。
比如:4312 3087 8352 6174,经过三次变换,得到6174
输入格式
一个四位整数,输入保证四位数字不全相同
输出格式
如果N的四位数字全相等,则输出一行“N-N=0000";
否则输出计算的每一步
样例输入
6767
样例输出
7766-6677=1089
9810-0189=9621
9621-1269=8352
8532-2358=6174
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;bool cmp(int a, int b)
{return a > b;
}int to_number(int num[])
{int sum = 0;for(int i = 0; i < 4; i++){sum = sum*10 + num[i];}return sum;
}int main()
{int N,min,max;scanf("%d",&N);int num[5];while(1){for(int i=0;i<4;i++){num[i] = N%10;N /= 10;}sort(num, num + 4);min = to_number(num);sort(num, num + 4, cmp);max = to_number(num);N = max - min;printf("%04d - %04d = %04d\n", max, min, N);if(N == 0 || N == 6174) break;}return 0;
}
【PAT B1019/A1069】数字黑洞相关推荐
- B1019/A1069 数字黑洞 借用string, algorithm快速完成
通过大量库函数快速完成此题. 比如 sort对字符串排序 string.length()来对不足4位的数字补0 to_string()将string快速转为int (还有个astox函数可以实现str ...
- pat 乙级 1019 数字黑洞(C++)
题目 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有&q ...
- [PAT乙级]1019 数字黑洞
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有" ...
- PAT乙级(1019 数字黑洞)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有" ...
- PAT 乙级1019 数字黑洞
给定任一个各位数字不完全相同的 4 位正整数 ,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有&quo ...
- PAT 乙级 1019. 数字黑洞 (20) Java版
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...
- PAT乙级 1019 数字黑洞 (20 分)
题目内容 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有 ...
- PAT乙级 1019 数字黑洞
一.题目描述 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停 ...
- PAT:1019. 数字黑洞 (20) AC(同甲级1069)
#include<stdio.h> #include<algorithm> using namespace std; const int AIM=6174; int n; in ...
- PTA B1019/A069 .数字黑洞 几个测试点分析 C语言
话不多说,上代码 #include <stdio.h> #include <string.h> //阴啊这个题目 虽然告诉四位数但是范围是大于0的 而且最后的三个数字都要求是以 ...
最新文章
- 如何迅速成为Java高手[Tomjava原创]
- AIX系统日志学习笔记之三
- 算法提高课-图论-负环-AcWing 361. 观光奶牛:spfa判正环、负环、01分数规划、二分
- oracle数据类型大小限制
- MySQL8.0 版本的安装
- 5亿整数的大文件,怎么排序 ?面试被问傻!
- [Leetcode]-- Valid Number
- node mysql 模块化_Node.js中的模块化
- 卫星协同观测的学习笔记
- WPF之HierarchicalDataTemplate(转)
- 不变子空间与线性变换的矩阵之间的关系
- 对WORD文档的关键字搜索
- AIDA64测试CPU性能 AIDA64测试CPU需要多久
- 家庭生涯妙招,必定要看哦
- 字符串 拼接方法报错 not defined
- myeclipse使用(技术和快捷键)
- 老年人-傻妞机器人安装及使用教程
- nodejs 牛刀小试
- 发布包到maven公共仓库图文教程(1) --- 注册账号和提交申请
- Android 让注册商标R往上移
热门文章
- java:eclipse:windows开发环境log4j系统找不到指定的路径
- Servlet(Request.Response)+文件上传
- 使用avalon2 去构建一个 app-route
- C# NamePipe使用小结
- 集成Android SlidingMenu(SlideMenu)
- centos 6.4 使用sendmail发送邮件(cacti)
- 转 web 开发字体
- windows终止处理程序( __try __finally) 简单解析
- IntelliJ IDEA 中 右键新建时,选项没有Java class
- 力扣算法题—069x的平方根