zoukankan      html  css  js  c++  java
  • 什么是自幂数?

    ㈠什么是自幂数?

    自幂数是指一个 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

     

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

  • 相关阅读:
    C++_学习随笔_牛郎织女迷宫
    UE4复习5_蓝图接口简单应用
    UE4复习4_射线检测
    今日份学习: Spring中使用AOP并实现redis缓存?
    动态代理,AOP和Spring
    今日份学习:初步的springboot
    HTML常用标签
    关于类的笔记
    关于编码的一个笔记
    Java Socket例程3 UDP
  • 原文地址:https://www.cnblogs.com/shihaiying/p/11863615.html
Copyright © 2011-2022 走看看