MATLAB查找1000以内的水仙花数

什么是水仙花数?

水仙花数(Narcissistic number),也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数等,是指一个 n 位正整数 (n ≥ 3),它的每个位上的数字的 n 次幂之和等于它本身。

例如:153 是一个三位数,1^3 + 5^3 + 3^3 = 153,因此 153 是水仙花数。

MATLAB代码实现:

for i = 100:999
    a = floor(i / 100); % 百位数
    b = floor((i - a * 100) / 10); % 十位数
    c = i - a * 100 - b * 10; % 个位数
    if (a^3 + b^3 + c^3) == i % 判断是否为水仙花数
        disp(i); % 输出水仙花数
    end
end

代码解释:

  1. 使用 for 循环遍历 100 到 999 之间的所有三位数。
  2. 使用 floor() 函数获取每个数的百位数、十位数和个位数。
  3. 计算每个位上数字的立方和。
  4. 判断立方和是否等于原数,如果是,则使用 disp() 函数输出该数。

运行结果:

153
370
371
407

结论:

以上代码可以快速准确地找出1000以内的所有水仙花数。通过学习这段代码,你可以了解如何使用MATLAB进行简单的数字计算和逻辑判断,并掌握循环和条件语句的使用方法。


原文地址: http://www.cveoy.top/t/topic/jwPF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录