L2-056 被n整除的n位数 - java
L2-056 被n整除的n位数
语言 | 时间限制 | 内存限制 | 代码长度限制 | 栈限制 |
---|---|---|---|---|
Java (javac) | 400 ms | 512 MB | 16KB | 8192 KB |
Python (python3) | 400 ms | 256 MB | 16KB | 8192 KB |
其他编译器 | 400 ms | 64 MB | 16KB | 8192 KB |
题目描述:
“被 n n n 整除的 n n n 位数”是这样定义的:记这个 n n n 位数为 a n ⋯ a 2 a 1 a_n \cdots a_2a_1 an⋯a2a1 。首先 a n a_n an 不为 0。从 a n a_n an 开始从左到右扫描每一位数字,前 1 1 1 位数(即 a n a_n an)能被 1 1 1 整除,前 2 2 2 位数 a n a n − 1 a_na_{n-1} anan−1 能被 2 整除,以此类推…… 即前 i 位数能被 i i i 整除 ( i = 1 , ⋯ , n ) (i = 1, \cdots, n) (i=1,⋯,n)。
例如 34285 34285 34285 这个 5 5 5 位数,其前 1 1 1 位数 3 3 3 能被 1 1 1 整除;前 2 2 2 位数 34 34 34 能被 2 2 2 整除;前 3 3 3 位数 342 342 342 能被 3 3 3 整除;前 4 4 4 位数 3428 3428 3428 能被 4 4 4 整除;前 5 5 5 位数 34285 34285 34285 能被 5 5 5 整除。所以 34285 34285 34285 是能被 5 5 5 整除的 5 5 5 位数。
本题就请你对任一给定的 n n n,求出给定区间内被 n n n 整除的 n n n 位数。
友情提示:被偶数整除的数字一定以偶数结尾;被 5 5 5 整除的数字一定以 5 5 5 或 0 0 0 结尾;被 10 10 10 整除的数字一定以 0 0 0 结尾。
输入格式:
输入在一行中给出 3 3 3 个正整数: n ( 1 < n ≤ 15 ) n(1 < n \le 15) n(1<n≤15),以及闭区间端点 a a a 和 b ( 1 ≤ a ≤ b < 10 15 ) b(1 \le a \le b < 10^{15}) b(1≤a≤b<1015)。
输出格式:
按递增序输出区间 [ a , b ] [a,b] [a,b] 内被 n n n 整除的 n n n 位数,每个数字占一行。
若给定区间内没有解,则输出 No Solution
。
输入样例 1:
5 34200 34500
输出样例 1:
34200
34205
34240
34245
34280
34285
输入样例 2:
4 1040 1050
输出样例 2:
No Solution
输出 a ∼ b a \sim b a∼b 之间所有满足前 i i i 位数能被 i i i 整除的数。
emmmmmmm
搜索
从最高位开始依次找到前 i i i位能被 i i i整除的数,直到填满 n n n位为止。
由于给定的 a , b a,b a,b可能是一个差距极大值,所以需要先替换为 n n n位数的最大最小值。即 a = 10 n − 1 , b = 10 n − 1 a = 10^{n-1}, b=10^n-1 a=10n−1,b=10n−1。
import java.io.*;
import java.util.*;public class Main
{static long n, a, b;static boolean flag = true;// x:当前的数// dep:当前填入的位数static void dfs(long x, int dep){// 填满n位if (dep == n){// 在指定范围内if (a <= x && x <= b){flag = false;out.println(x);}return;}// 依次判断0~9的数是否满足条件for (int i = 0; i <= 9; i ++){// 将当前数插入long res = x * 10 + i;// 判断前i位是否为i的倍数if (res % (dep + 1) == 0) dfs(res, dep + 1);}}public static void main(String[] args) throws IOException{n = sc.nextInt();a = sc.nextLong();b = sc.nextLong();// n位数的最小值long min = (long) (Math.pow(10, n - 1));// 替换a和b的范围a = Math.max(a, min);b = Math.min(b, min * 10 - 1);// 从最高位开始查找,用一个固定值来简化搜索for (long i = a / min; i <= b / min; i ++)dfs(i, 1);if (flag) out.println("No Solution");out.flush();out.close();}static Scanner sc = new Scanner(System.in);static PrintWriter out = new PrintWriter(System.out);}
dfs
dfs
如果有说错的 或者 不懂的 尽管提 嘻嘻
一起进步!!!
闪现
相关文章:
L2-056 被n整除的n位数 - java
L2-056 被n整除的n位数 语言时间限制内存限制代码长度限制栈限制Java (javac)400 ms512 MB16KB8192 KBPython (python3)400 ms256 MB16KB8192 KB其他编译器400 ms64 MB16KB8192 KB 题目描述: “被 n n n 整除的 n n n 位数”是这样定义的:记这个 n n…...

传统足浴行业数字化转型:线上预约平台的技术架构与商业逻辑
上门按摩服务系统开发正成为行业新风口,这绝不是盲目跟风而是实实在在的市场趋势。随着现代人生活节奏加快,时间成本越来越高,传统到店消费模式已经无法满足消费者对便捷服务的需求。我们的团队深耕上门按摩系统开发领域五年,深刻…...
Java-IO流之字节输入流详解
Java-IO流之字节输入流详解 一、Java IO体系与字节输入流概述1.1 Java IO体系结构1.2 字节输入流的核心类层次1.3 字节输入流的基本工作模式 二、InputStream类的核心方法2.1 int read()2.2 int read(byte[] b)2.3 int read(byte[] b, int off, int len)2.4 long skip(long n)2…...

从OCR到Document Parsing,AI时代的非结构化数据处理发生了什么改变?
智能文档处理:非结构化数据提出的挑战 在这个时代的每一天,无论是个人处理账单,还是企业处理合同、保险单、发票、报告或成堆的简历,我们都深陷在海量的非结构化数据之中。这类数据不像整齐排列的数据库表格那样规整,…...
【C/C++】入门grpc的idl
文章目录 grpc idl 简单介绍1. 文件结构组织规范文件命名包结构:推荐:一个文件只定义一个 service,如果 service 很复杂,可拆分多个 proto 文件。 2. 消息定义规范命名风格字段编号:示例: 3. 服务与 RPC 设…...
【Java实用工具类】手撸SqlBuilder工具类,优雅拼接动态SQL,MyBatisPlus同款风格!
📌 正文: 有时候我们项目底层是 JdbcTemplate 查询,没法像 MyBatisPlus 一样用 Wrapper 拼接条件,但我们又不想手撸字符串。那怎么办?我今天就给你整了个 SqlBuilder 工具类,支持 eq、ne、like、in、gt、l…...
宇树科技更名“股份有限公司”深度解析:机器人企业IPO前奏与资本化路径
从技术落地到资本跃迁,拆解股改背后的上市逻辑与行业启示 核心事件:股改释放的上市信号 2025年5月28日,杭州宇树科技有限公司正式更名“杭州宇树科技股份有限公司”,市场主体类型变更为“股份有限公司”。尽管官方称为常规运营调…...

Inno Setup 安装向导各个页面详解
概览 表中描述了使用Inno Setup生成的安装包在安装过程中各个页面的字段和对应的说明信息。后文会对各个页面的参数做进一步解释说明。 字段说明wpWelcome欢迎页wpLicense许可协议wpPassword密码wpInfoBefore信息wpUserInfo用户信息wpSelectDir选择目标位置wpSelectComponent…...
转战web3远程工作的英语学习的路线规划
目录 一、明确学习目标与定位 二、基础阶段(0 - 6个月) (一)词汇积累 (二)语法学习 (三)听力与口语 三、进阶阶段(6 - 18个月) (一…...

OPENCV重点结构体Mat的讲解
一、Opencv的作用 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Pytho…...
Java 创建线程池的几种方式
在 Java 中创建线程池主要通过 java.util.concurrent 包下的 ExecutorService 接口及其实现类。以下是创建线程池的几种常见方式: ✅ 1. 使用 Executors 工具类(最简单) ExecutorService executor Executors.newFixedThreadPool(10);常用方…...

【趣味Html】第11课:动态闪烁发光粒子五角星
打造炫酷的动态闪烁发光粒子五角星效果 前言 在现代Web开发中,视觉效果的重要性不言而喻。今天我们将深入探讨如何使用HTML5 Canvas和JavaScript创建一个令人惊艳的动态闪烁发光粒子五角星效果。这个项目不仅展示了Canvas的强大功能,还涉及了粒子系统、…...
AnyIO Event:异步编程中的同步利器
在异步编程的世界里,任务之间的通信和协调是一个常见的需求。AnyIO 提供的 Event 类,为这一需求提供了一个强大而简洁的解决方案。本文将深入探讨 anyio.Event 的使用方法、特点以及在实际应用中的最佳实践。 一、AnyIO Event 概述 anyio.Event 是 Any…...

CFTel:一种基于云雾自动化的鲁棒且可扩展的远程机器人架构
中文标题: CFTel:一种基于云雾自动化的鲁棒且可扩展的远程机器人架构 英文标题: CFTel: A Practical Architecture for Robust and Scalable Telerobotics with Cloud-Fog Automation 作者信息 Thien Tran, Jonathan Kua, Minh Tran, Hongh…...

Educational Codeforces Round 179 (Rated for Div. 2)
CF2111,简单手速场 A. Energy Crystals 贪心,每次最小值会乘2,直接模拟即可,复杂度 O ( log n ) O(\log n) O(logn) void solve(){int x;cin>>x;multiset<int> s{0,0,0};int res0;while(*s.begin()<x){int x*s.begin();s…...

完成一个可交互的k8s管理平台的页面开发
使用deepseek完成设计一个k8s管理平台,关键词如下: 完成一个可交互的k8s管理平台的页面开发Kubernetes 管理平台页面设计 下面是一个基于现代Web技术的可交互Kubernetes管理平台的页面设计方案,使用React作为前端框架,配合Ant De…...
多线程编程技术解析及示例:pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock
多线程编程技术解析及示例:pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 摘要 本文深入解析了多线程编程中 pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 三个函数的功能、使用场景及注意事项,并通…...
vue实现点击单选或者多选模式
toggleSelect(item) { if (!this.single) { // 多选模式 const itemIndex this.selectedItems.findIndex( (selectedItem) > selectedItem.userId item.userId ); // 假设每个对象都有一个唯一的id属性 if (itemIndex ! -1) { this.selectedItems.splice(itemIndex, 1); }…...

Windows系统工具:WinToolsPlus 之 SQL Server 日志清理
使用软件时提示数据库事务日志已满, 使用WinToolsPlus 数据库页签 先设置 数据源 , 选择 需要清理日志的数据库, 点击 数据库日志清理 即可。 下载地址: http://v.s3.sh.cn/archives/2279.html...

在Windows11上安装 Ubuntu WSL
不想安装虚拟机,想在Windows11上运行Linux。网上虽有教程,但是图片明显都是老图,与Windows11还是有些差异。网上缺乏一个齐全的真正的Windows11运行Linux的教程。 一、在Windows上的设置 1. 在window11的搜索框内(所有你找不到的应用都可以用这个搜索功能),搜索&q…...

嵌入式Linux之RK3568
系统烧写镜像。 1、直接使用正点原子官方的updata.img(MIDP) 进入瑞芯微发开工具RKDevTool,选择升级固件,上传到固件,记住这里要进入maskrom模式或者是loader模式,进入该模式之后点击升级即可。 2、烧入自己制作的镜像(单独、一…...
Elasticsearch的插件(Plugin)系统介绍
Elasticsearch的插件(Plugin)系统是一种扩展机制,允许用户通过添加自定义功能来增强默认功能,而无需修改核心代码。插件可以提供从分析器、存储后端到安全认证、机器学习等各种功能,使Elasticsearch能够灵活适应不同的应用场景和业务需求。 一、插件的核心特点 模块化扩展…...
提取 PDF 文件中的文字以及图片中的文字
Adobe 提供了多种方案可以快速提取 PDF 文件中的文字以及图片中的文字,主要依赖其 Acrobat 系列产品和 OCR(光学字符识别)技术。以下是具体解决方案的概述,涵盖了文字和图片文字的提取方法: 1. 提取 PDF 中的文字 如果…...

JavaScript性能优化实战技术
目录 性能优化核心原则 代码层面优化 加载优化策略 内存管理实践 及时解除事件监听 避免内存泄漏模式 渲染性能调优 使用requestAnimationFrame优化动画 批量DOM操作减少回流 性能监控工具 现代API应用 缓存策略实施 性能优化核心原则 减少资源加载时间 避免阻塞主…...
LeetCode 热题 100 739. 每日温度
LeetCode 热题 100 | 739. 每日温度 大家好,今天我们来解决一道经典的算法题——每日温度。这道题在 LeetCode 上被标记为中等难度,要求我们找到一个数组,其中每个元素表示从当前天开始,下一个更高温度出现的天数。如果之后没有更…...

网页前端开发(基础进阶3--Vue)
Vue3 Vue是一款用于构建用户界面的渐进式的JavaScript框架。 Vue由2部分组成:Vue核心包,Vue插件包 Vue核心包包含:声明式渲染,组件系统。 Vue插件包:VueRouter(客户端路由),Vuex…...

tryhackme——Abusing Windows Internals(进程注入)
文章目录 一、Abusing Processes二、进程镂空三、线程劫持四、DLL注入五、Memory Execution Alternatives 一、Abusing Processes 操作系统上运行的应用程序可以包含一个或多个进程,进程表示正在执行的程序。进程包含许多其他子组件,并且直接与内存或虚…...
【游戏科学】游戏开发中数学算法的核心与应用
一、游戏科学(Game Science) 涉及大量数学算法和模型,用于实现物理模拟、图形渲染、人工智能、路径规划、碰撞检测等核心功能。 1.1、图形渲染与几何计算 1. 三维变换(3D Transformations) 矩阵变换: 模…...
【Day44】
DAY 44 预训练模型 知识点回顾: 预训练的概念常见的分类预训练模型图像预训练模型的发展史预训练的策略预训练代码实战:resnet18 作业: 尝试在cifar10对比如下其他的预训练模型,观察差异,尽可能和他人选择的不同尝试通…...

基于 Alpine 定制单功能用途(kiosk)电脑
前言 故事回到 7 年前, 在网上冲浪的时候发现了一篇介绍使用 Ubuntu 打造 kiosk 单功能用途电脑的文章, 挺好玩的, 就翻译了一下并比葫芦画瓢先后用了 CentOS 7, ArchLinux 进行了实现. 历史文章: 翻译 - 使用Ubutnu14.04和Chrome打造单功能用途电脑(大屏展示电脑) 使用CentOS…...