蓝桥杯 算法提高VIP 数字黑洞(java)

C++模拟“数字黑洞” 带你解决“数字黑洞”问题!!!! 阅读详情
题目描述
任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律: 
1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数; 
2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位); 
3)求两个数的差,得到一个新的四位数(高位零保留)。 
重复以上过程,最后一定会得到的结果是6174。 
比如:4312  3087  8352  6174,经过三次变换,得到6174 
输入
一个四位整数,输入保证四位数字不全相同 
输出
一个整数,表示这个数字经过多少次变换能得到6174 
样例输入
4312 
样例输出

3



代码如下:

import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int[] arr = new int[4];
		int s1=0,s2=0,t=n,cnt=0;
		while(t!=6174){
			arr[0] = t%10;//个位
			arr[1] = t/10%10;//十位
			arr[2] = t/100%10;//百位
			arr[3] = t/1000%10;//千位
			Arrays.sort(arr);//升序
			s1=arr[0]*1000+arr[1]*100+arr[2]*10+arr[3];	//升序
			s2=arr[3]*1000+arr[2]*100+arr[1]*10+arr[0];	//降序
			t=s2-s1;
			cnt++;
		}
		System.out.println(cnt);
	}
}

C++黑洞数字 很详细哦 c++经典程序 int main() { srand((unsigned)time(NULL)); //时钟振荡产生随机数 int number = rand() % 10000; cout << "产生的随机数为: "<< number << endl; int value = blackHoleNumber(number); cout << "黑洞数为: " << value << endl; return 0; } 立即下载

相关推荐

Visual Studio 2015 插件开发 从入门到放弃(一)

必需知识:C#和Visual Studio (1)安装 Visual Studio 2015 的时候选择 Visual Studio 扩展性工具(Visual Studio Extensibility Tools)。对于已经安装好 Visual Studio 2015 的小伙伴,可以找VS2015的安装包,或者在程序与功能中找VS2015双击,在VS2015界面中选择 修改,再选择

AncientPeople的博客 2万+

蓝桥杯 ADV-170算法提高 数字黑洞

问题描述 任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律: 1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数; 2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位); 3)求两个数的差,得到一个新的四位数(高位零保留)。 重复以上过程,最后一定会得到的结果是6174。 比如

柳婼 の blog 1332

DDR内存条选购避坑指南:单Rank vs 双Rank性能实测对比(附2024年颗粒推荐)

本文深入解析了内存条中单Rank与双Rank设计的原理与性能差异。通过实战测试对比,揭示了双Rank内存在高负载场景(如3D渲染、视频剪辑)中凭借Rank Interleaving技术带来的显著性能优势,并提供了2024年针对不同用户需求的DDR4/DDR5内存选购策略与避坑指南。

ik678901的博客 1140

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位正整数,请编写

Snapdragon123的博客 747

量化交易如何利用涨停板策略收割散户

量化交易通过算法筛选特定特征的股票,在早盘建立底仓后,利用大单拉升制造抢筹假象,吸引散户跟风买入。这种策略利用了散户的认知偏差,如锚定效应和从众心理,导致次日低开闷杀。从技术实现来看,量化策略通过控制买入量、隐藏真实意图等手段,精准执行隔日砸策略。对于短线交易者而言,理解量化资金的运作逻辑和识别危险涨停板的特征至关重要,这包括观察封板时间、盘口挂单、量价关系等多维度数据。在算法主导的市场中,散户需要升级交易工具和策略,从预测走势转向应对走势,才能避免成为量化策略的牺牲品。

weixin_33046983的博客 295

操作系统知识点汇总(王道)

操作系统不论是就业还是升学都是核心的一门课程,对于大部分工科更是必修课程。本文章是对《王道操作系统》所有知识点的总结笔记,以供大家学习以及在备考期间复习使用。让我们一起把知识往脑子里旋好吗!!!......

S mile0804的博客 5万+

随机生成一个四位各不相同的四位数

@Test public void getRandDom(){ String number = ""; Random rd = new Random(); while (number.length() != 4) { String rn = rd.nextInt(10) + ""; if (number.length()==1){ if ("0".equals(rn)..

倚楼北望 4198

从RJPG到温度地图:基于大疆TSDK的热红外数据精准处理与Pix4D拼接实战

本文详细解析了如何利用大疆TSDK将无人机拍摄的热红外RJPG图像精准转换为带有地理坐标的温度TIFF文件,并完成Pix4D拼接生成正射温度地图的全流程。文章重点阐述了辐射定标的原理、TSDK关键参数(测量距离、湿度、发射率、反射温度)的设置与微调方法,以及Pix4D处理中的常见报错解决方案,旨在帮助用户实现从原始数据到可分析温度地图的精准处理。

docker7nomad的博客 466

C++数字黑洞

c++数字黑洞

Liuyunrui110517的博客 1732

MicroLogix1400编程(使用RSLogix 500 + RSLinx Classic Lite)

MicroLogix1400编程

noscallion的博客 1万+

ESP32设备驱动-TM1637-驱动4位7段数码管

TM1637是一款带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成了MCU数字接口、数据锁存、LED高压驱动、键盘扫描等功能。 TM1637使用DIP20/SOP20封装,主要适用于电磁炉、微波炉、小家电的显示驱动。

视觉与物联智能 2121

Java实现 蓝桥杯VIP 算法提高 数字黑洞

算法提高 数字黑洞 时间限制:1.0s 内存限制:256.0MB 问题描述   任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:   1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;   2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位);   3)求两个数的差,得到一个新的四...

南 墙 1万+

26届数字IC秋招笔试面试全攻略-UVM验证方法学精要

本文介绍了数字IC验证中UVM方法学的核心内容,包括组件架构、Sequence机制和寄存器模型。UVM提供env、agent、driver等组件构建验证环境;Sequence机制通过item、sequence和sequencer实现激励生成与控制;寄存器模型则通过reg_block、reg等组件管理DUT寄存器。文章详细说明了各模块的功能、交互关系和代码实现,为IC验证工程师提供了完整的UVM应用指南,重点突出了验证环境的搭建方法、激励生成流程和寄存器抽象技术。这些内容是数字IC秋招笔试面试中的高频考点。

2301_79143213的博客 725

java蓝桥杯数字黑洞_Java实现 蓝桥杯VIP 算法提高 数字黑洞

算法提高 数字黑洞时间限制:1.0s 内存限制:256.0MB问题描述任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位);3)求两个数的差,得到一个新的四位数(高位零保留)。重复以上...

weixin_32893479的博客 134

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

数字黑洞java_[蓝桥杯][算法提高VIP]数字黑洞 (Java代码)

解题思路:注意事项:参考代码:importjava.util.Arrays;importjava.util.Scanner;publicclassC1530{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);while(sc.hasNext()){intn=sc.nextInt...

weixin_33443932的博客 164

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

蓝桥杯 算法提高VIP 数字黑洞(Java解题)

题目描述任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律: 1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数; 2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位); 3)求两个数的差,得到一个新的四位数(高位零保留)。 重复以上过程,最后一定会得到的结果是6174。 比如:4312  ...

mcp3128 318

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

数字黑洞

题目描述 任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律: 1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数; 2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位); 3)求两个数的差,得到一个新的四位数(高位零保留)。 重复以上过程,最后一定会得到的结果是6174。 比如:4312 3087 8352 6174,经过三次变换,得到6174 输入 一个四位整数,输入保证四位数字不全相同 输

weixin_42240763的博客 243

JAVA-蓝桥杯-算法提高 数字黑洞

问题描述   任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:   1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;   2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位);   3)求两个数的差,得到一个新的四位数(高位零保留)。   重复以上过程,最后一定会得到的结果是6174...

YCCX_LHH21的博客 232

OJ old1239 算法提高 数字黑洞

描述   任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:   1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;   2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位);   3)求两个数的差,得到一个新的四位数(高位零保留)。   重复以上过程,最后一定会得到的结果是6174。   比如:4312 3087 8352 6174,经过三次变换,得到6174 输入 输入描述:   一个四

JetEcho的博客 423

1019 数字黑洞——c++实现

1. 题目介绍 2. 思路 一直以为输入的数肯定是四位正整数,所以一开始创建了大小为4的数组。后来发现输入的数字位数不确定,所以用int或string比较好。由于要排序,用int输入的话,也要再放到数组里。 3. 具体代码实现 ac代码 #include<iostream> #include<string> #include<algorithm> using namespace std; bool cmp(int a, int b) { return

XingziYY的博客 2009

C++ 实现数字黑洞

昨晚看了一篇公众号的文章:https://mp.weixin.qq.com/s/idzZVuncx3XPcQwEZ4C3cg 上面有介绍数字黑洞“6174”,论坛上也有很多,大概的历史由来不在赘述,随便找一个数如“1314”,看下图足矣: 其中,流程分两步,一步是自己输入一个数字不全相同的四位数(1111,2222等等的不要),由程序计算出数字黑洞;然后由程序随机出100个四位数,分别算数...

陈十七的博客 4865

3、数字黑洞

经过前面的尝试,我觉得C++的系统库能给我们的代码提供极大的方便,但前提是需要积累较多的相关函数,能够熟练使用,所以我觉得在分享这道题目之前,先整理需要用到的C++函数。 是 C++11 标准引入的数值转字符串函数,属于 头文件核心功能:将各种数值类型(整数/浮点数)转换为对应的字符串形式: 补充:2、 是 C++11 标准引入的字符串转整数函数​(String TO Integer),属于 头文件。核心功能:将 ​数字字符串 转换为 ​十进制整数 特性 说明

yc_hu的博客 778
上一篇: 蓝桥杯 算法提高VIP 最长单词(java)
下一篇: 蓝桥杯 算法提高VIP 寻找三位数(java)
mainn
博客等级 码龄10年 865粉丝 447原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值