[PAT乙级]1019 数字黑洞

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

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

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

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

输入给出一个 (0,10​4​​) 区间内的正整数 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 <iostream>
#include <cstdio>
#include <algorithm>using namespace std;bool cmp(char a, char b)
{return a > b;
}int main()
{int n;cin >> n;char num[5];sprintf(num, "%04d", n);while (true){sort(num, num + 4);int min_n = atoi(num);sort(num, num + 4, cmp);int max_n = atoi(num);int ans = max_n - min_n;printf("%04d - %04d = %04d\n", max_n, min_n, ans);if (ans == 6174 || ans == 0)break;sprintf(num, "%04d", ans);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/310106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ice_cream's world I HDU - 2120(并查集判环)

题意&#xff1a;问给出的望塔之间的建造了围墙&#xff0c;将土地分成了几份 思路&#xff1a;用并查集判环&#xff0c;若有围墙相接的瞭望塔&#xff0c;有相同的父根&#xff0c;则存在环 ice_creams world is a rich country, it has many fertile lands. Today, the qu…

java 普通类获取session_如何在Java的普通类中获取Session以及request对象

展开全部你是指你的 web 项目中使用到一个工具性的类&#xff0c;它的e69da5e6ba9062616964757a686964616f31333337613865形参中没有 HttpRequest 或 HttpSession 参数&#xff1f;如果是这样的话&#xff0c;我们需要使用一个 ThreadLocal 变量&#xff0c;我们把当前 reques…

[PAT乙级]1020 月饼

月饼是中国人在中秋佳节时吃的一种传统食品&#xff0c;不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量&#xff0c;请你计算可以获得的最大收益是多少。 注意&#xff1a;销售时允许取出一部分库存。样例给出的情形是这样的&#…

java中的asList_Java Arrays.AsList原理及用法实例

java.util.Arrays的asList方法可以方便的将数组转化为集合&#xff0c;我们平时开发在初始化ArrayList时使用的比较多&#xff0c;可以简化代码&#xff0c;但这个静态方法asList()有几个坑需要注意:一. 如果对集合使用增加或删除元素的操作将会报错如下代码&#xff1a;List l…

为什么顶尖高手,都是长期主义者?

点击蓝字关注&#xff0c;回复“职场进阶”获取职场进阶精品资料一份在当下这个浮躁的社会&#xff0c;很多人都认为“快”才是真理&#xff0c;“慢”就是原罪。大家都对一夜腾飞的故事津津乐道&#xff0c;却觉得坚守一生最终获得大成的故事不够性感。但事实是怎么样的呢&…

Invitation Cards POJ - 1511 SPFA(dijkstra+反向建图+邻接表(下标过大)+输入输出用stdio(iostream超时))

题目大意&#xff1a; 有编号1&#xff5e;P的站点&#xff0c; 有Q条公交车路线&#xff0c;公交车路线只从一个起点站直接 到达终点站&#xff0c;是单向的&#xff0c;每条路线有它自己的车费。有P个人早上从1出发 &#xff0c;他们要到达每一个公交站点&#xff0c; 然后到…

Asp.Net Boilerplate微服务实战(一)概述

ABP目前分为两个主版本&#xff1a;原版ABP框架&#xff0c;以及新版本也就是大家通常说的AbpvNext&#xff0c;官方后将ABP原版本框架命名为Asp.Net Boilerplate&#xff0c;新版本ABPvNext称为ABP框架。为方便阅读&#xff0c;本系列将原版本ABP框架统一称为Asp.Net Boilerpl…

[PAT乙级]1022 D进制的A+B

输入两个非负 10 进制整数 A 和 B (≤2​30​​−1)&#xff0c;输出 AB 的 D (1<D≤10)进制数。 输入格式&#xff1a; 输入在一行中依次给出 3 个整数 A、B 和 D。 输出格式&#xff1a; 输出 AB 的 D 进制数。 输入样例&#xff1a; 123 456 8输出样例&#xff1a; 1…

Tree Recovery(二叉树递归遍历+求后序遍历模板)

题意&#xff1a;已知先序和中序&#xff0c;将后序求出来 Little Valentine liked playing with binary trees very much. Her favorite game was constructing randomly looking binary trees with capital letters in the nodes. This is an example of one of her creati…

java中函数是什么_[一] java8 函数式编程入门 什么是函数式编程 函数接口概念 流和收集器基本概念...

本文是针对于java8引入函数式编程概念以及stream流相关的一些简单介绍什么是函数式编程?java程序员第一反应可能会理解成类的成员方法一类的东西此处并不是这个含义,更接近是数学上的函数看一下百度百科中关于函数的说明函数的定义&#xff1a;给定一个数集A&#xff0c;假设其…

分布式系统不得不说的CAP定理

21天学会C语言&#xff1f;3天学会弹钢琴&#xff1f;放弃一切错误方法&#xff0c;从今天开始“刻意练习”&#xff0c;因为这才是最强大的&#xff0c;也是唯一正确的学习方法。--《刻意练习》Anders Ericsson引言CAP问题已经成了计算机科学中一个研究领域&#xff0c;之前说…

[PAT乙级]1021 个位数统计

输入格式&#xff1a; 每个输入包含 1 个测试用例&#xff0c;即一个不超过 1000 位的正整数 N。 输出格式&#xff1a; 对 N 中每一种不同的个位数字&#xff0c;以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。 输入样例&#xff1a;…

java 造数据_java测试造数据神器JavaFaker

背景构造测试数据时&#xff0c;需要绞尽脑汁浪费时间&#xff0c;JavaFaker可以释放你的生产力githup地址安装com.github.javafakerjavafaker0.17.2使用随机生成一百个学生及考生分数学生模型/*** 测试model 学生*authorszhu*/public class Student implements Comparable{/**…

Largest Rectangle in a Histogram (动态规划+奇思妙想单调栈)求最大矩状图面积

感觉动态规划都是玄妙的很&#xff0c;思维题吧&#xff08;单调栈思维&#xff09; 题解&#xff1a;让求最大矩形面积&#xff0c;宽为1&#xff0c;暴力超时 可以发现 当第i-1个比第i个高的时候 比第i-1个高的所有也一定比第i个高 于是可以用到动态规划的思想 令l…

ASP.NET Core分布式项目实战(详解oauth2授权码流程)--学习笔记

最近公司产品上线&#xff0c;通宵加班了一个月&#xff0c;一直没有更新&#xff0c;今天开始恢复&#xff0c;每日一更&#xff0c;冲冲冲任务13&#xff1a;详解oauth2授权码流程我们即将开发的产品有一个用户 API&#xff0c;一个项目服务 API&#xff0c;每个服务都需要认…

java 先进先出的map_「 深入浅出 」java集合Collection和Map

本系列文章主要对java集合的框架进行一个深入浅出的介绍&#xff0c;使大家对java集合有个深入的理解。 本篇文章主要具体介绍了Collection接口&#xff0c;Map接口以及Collection接口的三个子接口Set&#xff0c;List&#xff0c;Queue。什么是集合Java集合类存放于 java.util…

二叉搜索树(模板)

题意:先给一组数据构建一颗二叉搜索树作为标准树。紧跟着n组数据中&#xff0c;判断每组 数据构成的二叉搜索树是否和标准树yi一样。 思路&#xff1a;两棵树如果一样的话&#xff0c;就是拥有一样的节点&#xff0c;在每个节点上具有相同的值&#xff0c;且 在相同遍历条件下&…

C++类模板中的static成员

从类模板实例化的每一个模板类有自己的类模板数据成员&#xff0c;该模板的所有对象共享一个static数据成员。 代码如下: #include <iostream> using namespace std;template<typename T> class Person { public:static int a;};template<typename T> int …

C#并发编程之初识并行编程

写在前面之前微信公众号里有一位叫sara的朋友建议我写一下Parallel的相关内容&#xff0c;因为手中商城的重构工作量较大&#xff0c;一时之间无法抽出时间。近日&#xff0c;这套系统已有阶段性成果&#xff0c;所以准备写一下Parallel的相关内容&#xff0c;正好也延续之前的…

java 下拉列表 枚举_「Java三分钟」精准而优雅——枚举类详解

关注我&#xff0c;每天三分钟&#xff0c;带你轻松掌握一个Java相关知识点。1.为什么要用枚举你在读一个老工程代码时&#xff0c;是否经常看见有几个类&#xff0c;里面放着成百上千的静态常量&#xff0c;场面相当恐怖&#xff0c;而且如果不加注释&#xff0c;很多你都不知…