水仙花数python代码while循环
时间: 2023-06-05 17:47:31 浏览: 180
下面是使用Python语言编写的while循环语句,用于计算水仙花数:
i = 100
while i < 1000:
a = i // 100
b = i // 10 % 10
c = i % 10
if i == a ** 3 + b ** 3 + c ** 3:
print(i)
i += 1
该代码使用循环变量i从100循环到999,分别获取i百位、十位和个位数字,如果这个数字满足水仙花数的定义,则输出到屏幕。
相关问题
判断水仙花数python代码
以下是一个判断水仙花数的 Python 代码:
```python
num = int(input("请输入一个三位数:"))
temp = num
sum = 0
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
该程序首先通过 `input()` 函数获取用户输入的一个三位数。然后,使用 `while` 循环和取模运算符 `%` 分别取出该数的百位、十位和个位上的数字,并计算立方和。最后,判断该数和立方和是否相等,如果相等,则说明该数是水仙花数,否则不是水仙花数。
水仙花数python代码带文字解释
水仙花数,也称为阿姆斯特朗数,是指一个n位数,其各个数字的n次方之和等于该数本身。如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是一个Python代码示例,用于判断一个数是否为水仙花数,并带有相应的文字解释:
```python
num = int(input("请输入一个数:")) # 获取用户输入的数,并转换为整型
# 初始化变量sum和temp
sum = 0
temp = num
# 计算每个数字的n次方之和
while temp > 0:
digit = temp % 10 # 获取最后一位数字
sum += digit ** 3 # 将每一位数字的三次方相加
temp //= 10 # 去掉最后一位数字
# 输出判断结果
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
首先,我们通过`input()`函数获取用户输入的数,并将其转换为整型。然后,我们初始化两个变量`sum`和`temp`,其中`sum`用于累加每个数字的n次方之和,`temp`用于临时存储用户输入的数。
接下来,我们通过一个循环,每次取`temp`的最后一位数字,并累加该数字的三次方到`sum`中。然后,将`temp`去掉最后一位数字并更新`temp`的值。
最后,我们通过判断`num`是否等于`sum`来确定输入的数是否是水仙花数,并输出相应的结果。
这段代码使用了循环和取模运算,通过对用户输入的数进行逐位相加并判断最终结果,以判断是否为水仙花数。
阅读全文