内容简介:给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 1089
给定任一个各位数字不完全相同的 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);
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 打破数据黑洞 数字工厂走向闭环
- “流量黑洞”经不起推敲?“算法黑洞”才能赢家通吃
- 如何避免安全项目投入中的“黑洞”
- 漫谈分布式系统(十九):SQL 的性能黑洞
- 漫谈分布式系统(十九):SQL 的性能黑洞
- 超级计算机模拟或能解开粒子从黑洞中逃脱之谜
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Just My Type
Simon Garfield / Profile Books / 2010-10-21 / GBP 14.99
What's your type? Suddenly everyone's obsessed with fonts. Whether you're enraged by Ikea's Verdanagate, want to know what the Beach Boys have in common with easy Jet or why it's okay to like Comic Sa......一起来看看 《Just My Type》 这本书的介绍吧!