如果要暴力解的话就硬模拟,没啥好说的。
这里介绍一种快速求 1 到 N 范围内所有自幂数的算法。
容易发现 自身各个数位上数字的n次幂之和 这玩意对于每个整数 num 来说 num 的任意排列跟 num 的结果都是一样的 ( 排除有前缀 0 的阴间情况 )。
这启示我们只需要对于每一个长度 1<=len<=9:
对于每一个整数 0<=x<=9,通过爆搜枚举他的出现次数,最后再判定这个结果是否合法。
假如一个n位自然数等于自身各个数位上数字的n次幂之和,则称此数为n位自幂数。
例如: 153就是一个三位自幂数。
因为153是三位数,各位数分别为: 1、5、3,且1^3 + 5^3+ 3^3 = 153
现给定一个大于等于3小于等于9的正整数n,以及正整数num,且n为num的位数,请判断该num是否为n位自幂数。
如果是则输出1,否则输出-1。
大于等于3小于等于9的正整数n,以及正整数num
如果是则输出1,否则输出-1
输入1
3
153
输出1
1
本题属于以下题库,请选择所需题库进行购买