问题描述
任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:
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】数字黑洞相关推荐

  1. B1019/A1069 数字黑洞 借用string, algorithm快速完成

    通过大量库函数快速完成此题. 比如 sort对字符串排序 string.length()来对不足4位的数字补0 to_string()将string快速转为int (还有个astox函数可以实现str ...

  2. pat 乙级 1019 数字黑洞(C++)

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

  3. [PAT乙级]1019 数字黑洞

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

  4. PAT乙级(1019 数字黑洞)

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

  5. PAT 乙级1019 数字黑洞

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

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

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

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

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

  8. PAT乙级 1019 数字黑洞

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

  9. PAT:1019. 数字黑洞 (20) AC(同甲级1069)

    #include<stdio.h> #include<algorithm> using namespace std; const int AIM=6174; int n; in ...

  10. PTA B1019/A069 .数字黑洞 几个测试点分析 C语言

    话不多说,上代码 #include <stdio.h> #include <string.h> //阴啊这个题目 虽然告诉四位数但是范围是大于0的 而且最后的三个数字都要求是以 ...

最新文章

  1. 如何迅速成为Java高手[Tomjava原创]
  2. AIX系统日志学习笔记之三
  3. 算法提高课-图论-负环-AcWing 361. 观光奶牛:spfa判正环、负环、01分数规划、二分
  4. oracle数据类型大小限制
  5. MySQL8.0 版本的安装
  6. 5亿整数的大文件,怎么排序 ?面试被问傻!
  7. [Leetcode]-- Valid Number
  8. node mysql 模块化_Node.js中的模块化
  9. 卫星协同观测的学习笔记
  10. WPF之HierarchicalDataTemplate(转)
  11. 不变子空间与线性变换的矩阵之间的关系
  12. 对WORD文档的关键字搜索
  13. AIDA64测试CPU性能 AIDA64测试CPU需要多久
  14. 家庭生涯妙招,必定要看哦
  15. 字符串 拼接方法报错 not defined
  16. myeclipse使用(技术和快捷键)
  17. 老年人-傻妞机器人安装及使用教程
  18. nodejs 牛刀小试
  19. 发布包到maven公共仓库图文教程(1) --- 注册账号和提交申请
  20. Android 让注册商标R往上移

热门文章

  1. java:eclipse:windows开发环境log4j系统找不到指定的路径
  2. Servlet(Request.Response)+文件上传
  3. 使用avalon2 去构建一个 app-route
  4. C# NamePipe使用小结
  5. 集成Android SlidingMenu(SlideMenu)
  6. centos 6.4 使用sendmail发送邮件(cacti)
  7. 转 web 开发字体
  8. windows终止处理程序( __try __finally) 简单解析
  9. IntelliJ IDEA 中 右键新建时,选项没有Java class
  10. 力扣算法题—069x的平方根