建立一个命令M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。
时间: 2024-03-24 08:41:22 浏览: 15
以下是求解“水仙花数”的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循环遍历所有三位数,然后通过取各位数字并计算其立方和,判断该数是否为水仙花数,最后输出所有的水仙花数。
相关问题
建立一个M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身
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
打印所有的水仙花数:所谓水仙花数是指一个三位数用go语言
以下是用 Go 语言实现打印所有的水仙花数的代码:
```go
package main
import (
"fmt"
)
func main() {
for i := 100; i <= 999; i++ {
// 分离出各位数字
a := i / 100 // 百位数
b := (i / 10) % 10 // 十位数
c := i % 10 // 个位数
// 判断是否为水仙花数
if a*a*a+b*b*b+c*c*c == i {
fmt.Println(i)
}
}
}
```
输出结果为:
```
153
370
371
407
```