什么是自幂数?


㈠什么是自幂数?

自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数)

 

㈡自幂数包括?

自幂数包括:独身数、水仙花数、四叶玫瑰数、五角星数、六合数、北斗七星数、八仙数、九九重阳数、十全十美数。

 

㈢各个数的取值?

n为1时,自幂数称为独身数。显然,0,1,2,3,4,5,6,7,8,9都是自幂数。
 
n为2时,没有自幂数。
 
n为3时,自幂数称为水仙花数,有4个:153,370,371,407;
 
n为4时,自幂数称为四叶玫瑰数,共有3个:1634,8208,9474;
 
n为5时,自幂数称为五角星数,共有3个:54748,92727,93084;
 
n为6时,自幂数称为六合数, 只有1个:548834;
 
n为7时,自幂数称为北斗七星数, 共有4个:1741725,4210818,9800817,9926315;
 
n为8时,自幂数称为八仙数, 共有3个:24678050,24678051,88593477;
 
n为9时,自幂数称为九九重阳数,共有4个:146511208,472335975,534494836,912985153;
 
n为10时,自幂数称为十全十美数,只有1个:4679307774。
 
总共有88个自幂数,最大的自幂数是115132219018763992565095597973971522401。
 
 
㈣JavaScript实现代码
 
4.1水仙花数

 

4.2四叶玫瑰数

 

4.3五角星数

 

4.4六合数

 

4.5北斗七星数

 

4.6八仙数

 

4.7九九重阳数

 

4.8十全十美数

 

㈤代码测试

var m=parseInt(prompt("请输入要求自幂数的位数")); //m位自幂数 function Pow(x,n) //x的n次方 { num=1; while(n--) { num=num*x; } return num; } function dfs(deep,curNum, curSum) //DFS搜索自幂数 { if(deep>m) { if(curNum==curSum) //满足条件自幂数输出  { console.log(curNum); } } else { var start=(deep==1);//第一位不为0 for(var i=start;i<=9;i++) { dfs(deep+1,curNum*10+i,curSum+Pow(i,m)); } } } dfs(1,0,0);

 

测试:

输入自幂数的位数为:3

 

 

 

以上就是有关自幂数的相关知识,希望有所帮助。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM