L1-103 整数的持续性 - java

2024-05-06 12:36
文章标签 java 整数 103 l1 持续性

本文主要是介绍L1-103 整数的持续性 - java,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

L1-103 整数的持续性


代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB


题目描述:

从任一给定的正整数 n n n 出发,将其每一位数字相乘,记得到的乘积为 n 1 n_{1} n1 。以此类推,令 n i + 1 n_{i+1} ni+1 n i n_{i} ni 的各位数字的乘积,直到最后得到一个个位数 n m n_{m} nm ,则 m m m 就称为 n n n 的持续性。例如 679 679 679 的持续性就是 5 5 5,因为我们从 679 679 679 开始,得到 6 × 7 × 9 = 378 6×7×9=378 6×7×9=378,随后得到 3 × 7 × 8 = 168 3×7×8=168 3×7×8=168 1 × 6 × 8 = 48 1×6×8=48 1×6×8=48 4 × 8 = 32 4×8=32 4×8=32,最后得到 3 × 2 = 6 3×2=6 3×2=6,一共用了 5 5 5 步。
本题就请你编写程序,找出任一给定区间内持续性最长的整数。

输入格式:
输入在一行中给出两个正整数 a 和 b( 1 ≤ a ≤ b ≤ 1 0 9 1 \leq a \leq b \leq 10^{9} 1ab109 ( b − a ) < 10 (b − a) < 10 (ba)<10),为给定区间的两个端点。

输出格式:
首先在第一行输出区间 [ a , b ] [a, b] [a,b] 内整数最长的持续性。随后在第二行中输出持续性最长的整数。如果这样的整数不唯一,则按照递增序输出,数字间以 1 1 1 个空格分隔,行首尾不得有多余空格。

输入样例:
500 700
输出样例:
5
679 688 697


找到最长的持续性,并且找到最长持续性的所有数


emmmmmmm

按照题目意思

首先将这个数拆分成各位之积,直到各位之积为个位数。
统计操作的步数。

然后统计最大的步数,输出最大步数的所有数。


import java.io.*;
import java.util.*;public class Main
{
//	将x拆分位各位之积static int fen(int x){int ans = 1;while (x > 0){ans *= x % 10;x /= 10;}return ans;}//	获取x到一个个位需要几步static int get(int x){int cnt = 0;while (x >= 10){x = fen(x);cnt++;}return cnt;}public static void main(String[] args){int a = sc.nextInt();int b = sc.nextInt();int max = 0; // 统计最大值ArrayList<Integer> ar = new ArrayList<Integer>();for (int i = a; i <= b; i++){int j = get(i);
//			如果比最大值大if (j > max){
//				替换持续性max = j;ar = new ArrayList<Integer>();}
//			如果小于最大值,则不添加这个数else if (j < max)continue;
//			添加当前这个数ar.add(i);}out.println(max);for (int i = 0; i < ar.size(); i++){if (i != 0)out.print(" ");out.print(ar.get(i));}out.flush();out.close();}static Scanner sc = new Scanner(System.in);static PrintWriter out = new PrintWriter(System.out);}

ArrayList
ArrayList


如果有说错的 或者 不懂的 尽管提 嘻嘻

一起进步!!!


闪现

这篇关于L1-103 整数的持续性 - java的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/964370

相关文章

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

SpringBoot 整合 Grizzly的过程

《SpringBoot整合Grizzly的过程》Grizzly是一个高性能的、异步的、非阻塞的HTTP服务器框架,它可以与SpringBoot一起提供比传统的Tomcat或Jet... 目录为什么选择 Grizzly?Spring Boot + Grizzly 整合的优势添加依赖自定义 Grizzly 作为

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

java Stream操作转换方法

《javaStream操作转换方法》文章总结了Java8中流(Stream)API的多种常用方法,包括创建流、过滤、遍历、分组、排序、去重、查找、匹配、转换、归约、打印日志、最大最小值、统计、连接、... 目录流创建1、list 转 map2、filter()过滤3、foreach遍历4、groupingB

SpringBoot如何使用TraceId日志链路追踪

《SpringBoot如何使用TraceId日志链路追踪》文章介绍了如何使用TraceId进行日志链路追踪,通过在日志中添加TraceId关键字,可以将同一次业务调用链上的日志串起来,本文通过实例代码... 目录项目场景:实现步骤1、pom.XML 依赖2、整合logback,打印日志,logback-sp

Java操作PDF文件实现签订电子合同详细教程

《Java操作PDF文件实现签订电子合同详细教程》:本文主要介绍如何在PDF中加入电子签章与电子签名的过程,包括编写Word文件、生成PDF、为PDF格式做表单、为表单赋值、生成文档以及上传到OB... 目录前言:先看效果:1.编写word文件1.2然后生成PDF格式进行保存1.3我这里是将文件保存到本地后

用Java打造简易计算器的实现步骤

《用Java打造简易计算器的实现步骤》:本文主要介绍如何设计和实现一个简单的Java命令行计算器程序,该程序能够执行基本的数学运算(加、减、乘、除),文中通过代码介绍的非常详细,需要的朋友可以参考... 目录目标:一、项目概述与功能规划二、代码实现步骤三、测试与优化四、总结与收获总结目标:简单计算器,设计

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne