水仙花数,也被称为自恋数、阿姆斯特朗数,是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 +5^3 +3^3 =153。
在这个例子中,我们将使用Matlaba编写一个程序来找出范围内的所有水仙花数。我们将要求用户输入一个范围,然后程序将输出该范围内的所有水仙花数。
下面是完整的Matlab代码示例:
% 水仙花数示例
% 提示用户输入范围
lower = input('请输入下限: ');
upper = input('请输入上限: ');
% 遍历范围内的每个数
for num = lower:upper
% 将当前数转换为字符串
strNum = num2str(num);
% 计算当前数的位数
n = length(strNum);
% 计算当前数的每个位上的数字的n次幂之和
sum = 0;
for i = 1:n
digit = str2double(strNum(i)); % 将字符转换为数字
sum = sum + digit^n;
end
% 如果和等于当前数,则为水仙花数,输出结果
if sum == num
disp(num);
end
end
让我们逐