建立一个M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身
时间: 2023-12-03 07:17:18 浏览: 67
function narcissistic_numbers = find_narcissistic_numbers()
% 求所有的“水仙花数”
narcissistic_numbers = [];
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)
narcissistic_numbers = [narcissistic_numbers i];
end
end
end
相关问题
建立一个命令M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。
以下是求解“水仙花数”的Matlab命令M文件的代码:
```matlab
for i = 100:999
a = fix(i / 100); % 取百位数字
b = fix((i - a * 100) / 10); % 取十位数字
c = mod(i, 10); % 取个位数字
if i == a^3 + b^3 + c^3 % 判断是否为水仙花数
disp(i); % 输出水仙花数
end
end
```
运行此文件,将输出所有的水仙花数。此程序利用for循环遍历所有三位数,然后通过取各位数字并计算其立方和,判断该数是否为水仙花数,最后输出所有的水仙花数。
用matlab 编写一个M文件,求所有“水仙花数”,所谓的“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
下面是用MATLAB编写的求所有“水仙花数”的M文件代码:
```matlab
for i = 100:999
a = floor(i/100); % 取百位数
b = floor((i-a*100)/10); % 取十位数
c = i-a*100-b*10; % 取个位数
if i == a^3+b^3+c^3 % 判断是否为水仙花数
disp(i);
end
end
```
注:`^`表示乘方运算,`floor`表示向下取整函数。
阅读全文