如何最快找出水仙花数
时间: 2023-12-08 16:38:40 浏览: 35
以下是Python中最快的找出水仙花数的方法:
```python
for i in range(100, 1000):
s = str(i)
if i == int(s[0]) ** 3 + int(s[1]) ** 3 + int[2]) ** 3:
print(i)
```
该方法使用了Python中的for循环和字符串切片,以及int()和**运算符。首先,使用for循环遍历100到999之间的所有数字。然后,将每个数字转换为字符串,并使用字符串切片将其拆分为三个数字。最后,使用**运算符计算每个数字的3次幂之和,并将其与原始数字进行比较。如果它们相等,则打印该数字。
相关问题
matlab怎么找出水仙花数
以下是在MATLAB中找出水仙花数的代码:
```matlab
function [] = SXH()
for k = 100 : 999 %水仙花数的范围肯定是三位数 这个循环就是把每一个三位数都试一下 找到满足条件的数字
a = fix( k / 100); % a即为百位数字
b = rem( fix( k / 10), 10 ); %十位数字
c = rem(k , 10); % 个位数字
if a .^ 3 + b .^ 3 + c .^ 3 == k %验证
fprintf( '%u \n', k); %输出格式为无符号十进制的水仙花数
end
end
end
```
该代码使用了for循环,从100到999遍历每个三位数,然后将其拆分为百位数、十位数和个位数。接着,将这些数字的立方和与原数字进行比较,如果相等,则输出该数字。这个过程就是找出所有的水仙花数。
python找出水仙花数
好的,水仙花数是指一个三位数,它的各个位上数字的立方和等于它本身。例如,153就是一个水仙花数,因为 $1^3+5^3+3^3=153$。以下是Python代码实现:
```python
for i in range(100, 1000):
temp = str(i)
sum = int(temp[0])**3 + int(temp[1])**3 + int(temp[2])**3
if sum == i:
print(i)
```
输出结果为:
```
153
370
371
407
```