1019 数字黑洞 (20 分)java
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。
例如,我们从6767开始,将得到
7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
7641 - 1467 = 6174
... ...
现给定任意 4 位正整数,请编写程序演示到达黑洞的过程。
输入格式:
输入给出一个 (0,104) 区间内的正整数 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
Think
一定要注意整数的输出格式,例如 0159 前面的‘0’不能丢。
code
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Scanner;public class Main {static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));public static void main(String[] args) {Scanner in = new Scanner(System.in);int num = in.nextInt();yc(num);}private static void yc(int num) {int[] g = new int[4];g[0] = num % 10;g[1] = (num % 100) / 10;g[2] = (num % 1000) / 100;g[3] = num / 1000;if(g[0] == g[1] && g[1] == g[2] && g[2] == g[3]) {out.printf("%d - %d = 0000" , num , num);out.flush();} else {Arrays.sort(g);int[] reg = new int[4];int s1 = 0 , s2 = 0;for (int i = 0; i < 4; i++) {reg[i] = g[3 - i];s1 = s1 * 10 + g[3-i];s2 = s2 * 10 + g[i];}out.printf("%04d - %04d = %04d\n", s1,s2,s1-s2);out.flush();if(s1 - s2 == 6174 || s1 - s2 == 0) {return;}yc(s1-s2);} }
}
1019 数字黑洞 (20 分)java相关推荐
- C++学习之路 | PTA乙级—— 1019 数字黑洞 (20分)(精简)
1019 数字黑洞 (20分) 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这 ...
- 1019 数字黑洞 (20 分)(c语言)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有" ...
- 15行代码AC——1019 数字黑洞 (20分) 甲级1069. The Black Hole of Numbers (20)(解题报告)
立志用更少的代码做更高效的表达 PAT甲级最优题解-->传送门 Pat乙级最优化代码+题解+分析汇总-->传送门 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非 ...
- PTA | 1019 数字黑洞 (20分)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有" ...
- PAT乙级 1019 数字黑洞 (20 分)
题目内容 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有 ...
- 1019 数字黑洞 (20 分)
原题链接 题面 思路 就是以字符串的形式读入,通过sort排序来实现升序排和降序排,通过string+ insert 的方式补全占位的 0. 坑点 就是一个数字不足四位时,必须要先在前面用 0 占位, ...
- 【PAT乙级】1019 数字黑洞 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805302786899968 注意补前导零. 例: 输入 9 应为0009 ...
- 1019 数字黑洞 (20分)
输入样例 1: 6767 输出样例 1: 7766 - 6677 = 1089 9810 - 0189 = 9621 9621 - 1269 = 8352 8532 - 2358 = 6174 输入样 ...
- 1019 数字黑洞 (20)
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...
- PAT 乙级 1019. 数字黑洞 (20) Java版
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有"数字黑洞&qu ...
最新文章
- 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
- Linux系统的启动引导过程
- HTML+CSS+JS实现 ❤️仿切水果小游戏❤️
- mysql query cache 关闭_为什么要关闭MySQL query cache-Fun言
- directx修复工具v3.2增强版_微PE v2.0维护盘增强版万能启动盘20200726
- python 算法库_一个易用又功能强大的 Python遗传算法库
- 围绕LEADS理念以开发者为中心,华为HDG伴你梦飞扬!(转载)
- 蓝绿部署、滚动部署、灰度发布、金丝雀发布-概念介绍---应用部署001
- 我为什么辞去 Netflix 价值 45 万美元的开发工作
- Recycleview notifyDataSetChanged()方法调用出现IllegalStateException 问题的解决
- html语言制作静态网页,html+css制作的漂亮静态网页
- vue调用手机浏览器打开pdf_在微信中调用外部浏览器实现文件下载之解决
- CUDA的旋转R ROI Align的OPENCL实现1(原理理解)
- 今天你的人生做减法了吗?
- 工商管理专业知识与实务(初级)【10】
- Android 音视频深入 十八 FFmpeg播放视频,有声音(附源码下载)
- jy-12-SPRINGMYBATIS02——云笔记01-刘苍松
- sql joins图示
- 分析IBinder体系中getService的流程
- 【数组】深析 “数组名称”
热门文章
- 使用HttpWebRequest请求API接口以及其他网站资源
- 并发编程 - 协程 - 1.协程概念/2.greenlet模块/3.gevent模块/4.gevent实现并发的套接字通信...
- Lua string库整理
- 西安电子科技大学泄漏信息
- DuiLib学习笔记5——标题栏不能正常隐藏问题
- 第五章、窗口及对话框
- Win64 驱动内核编程-6.内核里操作注册表
- C语言经典例24-分数累加和
- 【C 语言】内存四区原理 ( 栈内存与堆内存对比示例 | 函数返回的堆内存指针 | 函数返回的栈内存指针 )
- 【Windows 逆向】CE 地址遍历工具 ( CE 结构剖析工具 | 尝试进行瞬移操作 | 尝试查找飞天漏洞 )