获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
所谓水仙花数,是指一个n位的正整数,其各位数字的n次方和等于该数本身。
例如153是水仙花数,153是一个3位数,并且153 = 1^3 5^3 3^3。
输入描述
第一行输入一个整数n,表示一个n位的正整数。n在3到7之间,包含3和7。
第二行输入一个整数m,表示需要返回第m个水仙花数。
输出描述
返回长度是n的第m个水仙花数。个数从0开始编号。
若m大于水仙花数的个数,返回最后一个水仙花数和m的乘积。
若输入不合法,返回-1。
题目解析
这个问题要求我们找到特定长度的水仙花数序列中的第m个数。水仙花数是指一个n位数,它的各位数字的n次幂之和等于该数本身。我们首先需要编写一个函数来判断一个数是否为水仙花数,然后生成所有可能的n位数,并检查哪些是水仙花数,最后返回第m个或相应的处理结果。
Java算法源码
public class NarcissisticNumber {