m0_63212289 2021-10-20 16:26 采纳率: 0%
浏览 30

关于自恋数,问个matlab函数问题TT

img

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-10-20 19:35
    关注

    你好,这个自恋数我已经写过代码了:

    function main()
    [S, R]= nacissistic(16, 3)% 比如这个16进制三位数
    end
    function [S, R]= nacissistic(base, n)
    A = cell(1,n);
    [A{:}] = ndgrid(0:base-1);
    for i = 1:n
        A{1,i} = A{1,i}(:);
    end
    A = cell2mat(A);%所有可能的n位base进制数
    A(A(:,1)==0,:) = [];%去除最高位为0的数
    B = sum(A.^n,2);%每个数的位置依次n次方相加,表示成十进制
    N = repmat(n-1:-1:0,size(A,1),1);% 幂指标
    C = sum(A.*base.^N,2);%每个n位base进制数表示成十进制
    p = B==C;
    S = C(p,1); % 这个是10进制下的结果
    R = A(p,:); % 这个是base进制的行向量,每一行代表一个数,列代表位数
    if(base<=36) % 36进制以内都可以用数字字母表示
       S = dec2base(S,base,n);
    end
    end
    

    最后输出结果是:

    S =
    
      19×3 char 数组
    
        'EA0'
        '5B0'
        '8C0'
        'EA1'
        '5B1'
        '8C1'
        '173'
        'AC3'
        '285'
        '4A5'
        '156'
        '208'
        '248'
        'CA8'
        'E69'
        'AA9'
        '99A'
        '60B'
        '64B'
    
    
    R =
    
        14    10     0
         5    11     0
         8    12     0
        14    10     1
         5    11     1
         8    12     1
         1     7     3
        10    12     3
         2     8     5
         4    10     5
         1     5     6
         2     0     8
         2     4     8
        12    10     8
        14     6     9
        10    10     9
         9     9    10
         6     0    11
         6     4    11
    

    可见16进制三位数的自恋数足足有19个

    然后改动主函数那一行,改成

    [S, R]= nacissistic(10, 3)% 比如这个10进制三位数
    

    结果:

    S =
    
      4×3 char 数组
    
        '370'
        '371'
        '153'
        '407'
    
    
    R =
    
         3     7     0
         3     7     1
         1     5     3
         4     0     7
    
    

    可见10进制3位数的自恋数有4个,哈哈哈
    其他的自己都可以测试哟,有帮助望采纳,谢谢啦

    评论

报告相同问题?

问题事件

  • 创建了问题 10月20日

悬赏问题

  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,