华为OD机试真题-水仙花数

题目描述

所谓 水仙花数,是指一个 n n n 位的正整数,其各位数字的 n n n 次方和等于该数本身。

例如153是水仙花数,153是一个3位数,并且 153 = 1 3 + 5 3 + 3 3 153=1^3+5^3+3^3 153=13+53+33

输入描述

第一行输入一个整数 n n n,表示一个n位的正整数。 n n n 在3到7之间,包含3和7。

第二行输入一个整数 m m m,表示需要返回第 m m m 个水仙花数。

输出描述

返回长度是 n n n 的第 m m m 个水仙花数。个数从0开始编号。

m m m 大于水仙花数的个数,返回最后一个水仙花数和 m m m 的乘积。

若输入不合法,返回-1。

示例1
输入

3
0

输出

153

说明

153是第一个水仙花数.

示例2

输入

9
1

输出

-1

说明

9超出范围

题解

水仙花数较少
直接修改为常量

源码 Java

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class Main {public static void main(String[] args) {// 预先存储的水仙花数表Map<Integer, int[]> table = new HashMap<>();table.put(3, new int[]{153, 370, 371, 407});table.put(4, new int[]{1634, 8208, 9474});table.put(5, new int[]{54748, 92727, 93084});table.put(6, new int[]{548834});table.put(7, new int[]{1741725, 4210818, 9800817, 9926315});// 创建扫描器获取用户输入Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int m = scanner.nextInt();// 检查 n 是否在 3 到 7 之间,或者 m 是否为负数if (n < 3 || n > 7 || m < 0) {System.out.println(-1);  // 非法输入} else if (m >= table.get(n).length) {// 如果 m 超出该位数水仙花数的数量,输出最后一个水仙花数乘以 mSystem.out.println((long)table.get(n)[table.get(n).length - 1] * m);} else {// 否则,输出第 m 个水仙花数System.out.println(table.get(n)[m]);}// 关闭扫描器scanner.close();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/5351.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Node.js——fs模块-文件读取

1、文件读取&#xff1a;通过程序从文件中去除其中的数据 2、方法 方法 说明 readFile 异步读取 readFileSync 同步读取 createReadStrean 流式读取 3、readFile 异步读取 语法&#xff1a; 本文的分享到此结束&#xff0c;欢迎大家评论区一同讨论学习&#xff0c;下一…

cv2.threshold利用OSTU方法分割图像的前景和背景

OSTU方法&#xff0c;又称大津法或最大类间方差法&#xff0c;是一种在图像处理中广泛应用的自动阈值选择方法。该方法由日本学者大津&#xff08;Nobuyuki Otsu&#xff09;于1979年提出&#xff0c;旨在通过最大化前景与背景之间的类间方差来自动确定一个最佳阈值&#xff0c…

Perforce《2024游戏技术现状报告》Part2:游戏引擎、版本控制、IDE及项目管理等多种开发工具的应用分析

游戏开发者一直处于创新前沿。他们的实践、工具和技术受到各行各业的广泛关注&#xff0c;正在改变着组织进行数字创作的方式。 近期&#xff0c;Perforce发布了《2024游戏技术现状报告》&#xff0c;通过收集来自游戏、媒体与娱乐、汽车和制造业等高增长行业的从业者、管理人…

编写虚拟的GPIO控制器的驱动程序:和pinctrl的交互使用

往期内容 本专栏往期内容&#xff1a; Pinctrl子系统和其主要结构体引入Pinctrl子系统pinctrl_desc结构体进一步介绍Pinctrl子系统中client端设备树相关数据结构介绍和解析inctrl子系统中Pincontroller构造过程驱动分析&#xff1a;imx_pinctrl_soc_info结构体Pinctrl子系统中c…

数据结构代码题--排序算法(快排),二叉树的基本知识,链表的基本操作引申

排序算法&#xff1a; 完成比完美更重要&#xff01; 题目中常考的是平均时间复杂度&#xff1a;但是具体计算时&#xff0c;能用最坏就用最坏 插入&#xff1a;直接插&#xff0c;希尔 交换&#xff1a;冒泡&#xff0c;快排 选择&#xff1a;简单选择&#xff0c;堆排 归…

外包干了4年,技术退步太明显了。。。。。

先说一下自己的情况&#xff0c;本科生生&#xff0c;20年通过校招进入武汉某软件公司&#xff0c;干了差不多4年的功能测试&#xff0c;今年国庆&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能…

VS2013安装报错“windows程序兼容性模式已打开,请将其关闭 ”解决方案

windows程序兼容性模式已打开,请将其关闭 在安装VS2013语言包的时候报错&#xff1a;windows程序兼容性模式已打开,请将其关闭 还会经常遇到这个错误&#xff1a;有一个安装程序已经运行 第一个问题解决办法&#xff1a; 按winr&#xff0c;输入cmd 输入 安装包路径 /Uninstal…

fastapi_socketio连接vue的socktio.client

环境 windows 11 python 3.11 fastapi 0.108.0 fastapi-socketio 0.0.10 vue2 “socket.io-client”: “^4.6.1”, 提示&#xff1a;如果遇到跨域问题自行解决 fastapi 使用fastapi-scoketio下的SocketManager, 可以看到接口解释如下&#xff1a; 所以默认配置是客户端连接时…

使用 GitHub Actions 部署到开发服务器的详细指南

使用 GitHub Actions 部署到开发服务器的详细指南 在本篇博客中&#xff0c;我们将介绍如何使用 GitHub Actions 实现自动化部署&#xff0c;将代码从 GitHub 仓库的 dev 分支自动部署到开发服务器。通过这种方式&#xff0c;可以确保每次在 dev 分支推送代码时&#xff0c;服…

常见 HTTP 状态码分类和解释及服务端向前端返回响应时的最完整格式

目前的开发项目&#xff0c;准备明年的国产化&#xff0c;用了十年的自研系统借这个机会全部重写&#xff0c;订立更严格的规范&#xff0c;这里把返回格式及对应状态码记录一下。 常见 HTTP 状态码及解释 HTTP 状态码用于表示客户端请求的响应状态&#xff0c;它们分为五类&a…

使用PyCharm连接虚拟机运行spark任务,本地开发:远程提交测试

在本地写代码&#xff0c;右键运行&#xff0c;将代码自动提交到集群上 spark是Standalone集群 1) 集群环境准备好 #启动集群&#xff1a;第一台机器 start-dfs.sh cd /opt/installs/spark sbin/start-master.sh sbin/start-workers.sh sbin/start-history-server.sh 2) Wi…

XHCI 1.2b 规范摘要(12)

系列文章目录 XHCI 1.2b 规范摘要&#xff08;一&#xff09; XHCI 1.2b 规范摘要&#xff08;二&#xff09; XHCI 1.2b 规范摘要&#xff08;三&#xff09; XHCI 1.2b 规范摘要&#xff08;四&#xff09; XHCI 1.2b 规范摘要&#xff08;五&#xff09; XHCI 1.2b 规范摘要…

多分类logistic回归分析案例教程

因变量为无序多分类变量&#xff0c;比如研究成人早餐选择的相关因素&#xff0c;早餐种类包括谷物类、燕麦类、复合类&#xff0c;此时因变量有三种结局&#xff0c;而且三种早餐是平等的没有顺序或等级属性&#xff0c;此类回归问题&#xff0c;可以使用多分类Logistic回归进…

读取数量不定的输入数据

#include <iostream> using namespace std; int main() {int sum 0, value 0;//读取数据直到遇到文件尾while (cin >> value) {sum value;}cout << sum;return 0; }

Kubernetes的基本构建块和最小可调度单元pod-0

文章目录 一&#xff0c;什么是pod1.1pod在k8s中使用方法&#xff08;1&#xff09;使用方法一&#xff08;2&#xff09;使用方法二 1.2pod中容器的进程1.3pod的网络隔离管理&#xff08;1&#xff09;pause容器的作用 1.4 Pod分类&#xff1a;&#xff08;1&#xff09;自主式…

unity3d————四元数概念

一、定义与表示 四元数是由一个实数部分和三个虚数部分组成&#xff0c;通常表示为q w xi yj zk&#xff0c;其中w是实数&#xff0c;x、y、z是实数系数&#xff0c;i、j、k是虚数单位&#xff0c;满足以下关系&#xff1a; i j k -1ij k&#xff0c;ji -kjk i&…

利用frp进行SSH端口转发(内网穿透同理)

题记 公司内网有一台设备&#xff0c;可以根据微步情报来对恶意服务器进行封禁。很不幸我的vps因为开着cs被标记为恶意了&#xff0c;导致我在公司网络连不上我的vps&#xff0c;每次连还要挂代理。于是我打算将我vps的22端口转发到我们公司的vps的10022端口上。本篇文章来自11…

深度学习:bert框架

bert框架的介绍 BERT是一个基于Transformer的双向编码器表示模型&#xff0c;它通过预训练学习到了丰富的语言表示&#xff0c;并可以用于各种自然语言处理任务。 模型结构&#xff1a; BERT基于Transformer的编码器部分&#xff0c;采用了多层自注意力机制和前馈神经网络。这…

java ssm 防疫用地理位置分析系统 地理坐标系统 定位 源码 jsp

一、项目简介 本项目是一套基于SSM的防疫用地理位置分析系统&#xff0c;主要针对计算机相关专业的和需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本、软件工具等。 项目都经过严格调试&#xff0c;确保可以运行&#xff01; 二、技术实现 ​后端技术&…

IDEA启动提示Downloading pre-built shared indexes

Download pre-built shared indexes Reduce the indexing time and CPU load with pre-built JDK shared indexes 翻译&#xff1a; 下载预构建的共享索引 使用预构建的JDK共享索引减少索引时间和CPU负载. 使用预构建的JDK共享索引可以显著减少索引构建时间和CPU负载&#xf…