编写程序输出“水仙花数”和水仙花数的个数。所谓“水仙花数”是一个三位数,其各位数字立方和等于其本身,如 153 = 13+ 53+ 33。
时间: 2024-12-02 08:22:23 浏览: 28
要编写一个程序来检查并输出所有的水仙花数以及它们的数量,你可以使用一个循环遍历所有可能的三位数,计算每个数各位数字立方和,然后判断是否等于原数。以下是一个简单的Matlab代码示例:
```matlab
function [num_spiral_numbers, count] = find_spiral_numbers()
% 初始化计数器和数组用于存储水仙花数
count = 0;
spiral_numbers = [];
% 循环从100到999(包含)
for num = 100:999
digits = num; % 获取当前数的各个位
sum_of_cubes = sum(digits .* (digits .^ 3)); % 计算每位立方和
% 判断是否为水仙花数
if sum_of_cubes == num
count = count + 1; % 增加计数
spiral_numbers = [spiral_numbers, num]; % 添加到数组
end
end
% 输出结果
num_spiral_numbers = spiral_numbers;
fprintf('The number of narcissistic numbers between 100 and 999 is %d.\n', count);
fprintf('They are:\n');
disp(num_spiral_numbers);
end
% 调用函数
[num_spiral_numbers, count] = find_spiral_numbers();
```
当你运行这段代码时,它会输出所有的水仙花数以及它们的数量。
阅读全文