编写python程序,求3位数或4位数的自幂数。
时间: 2024-10-16 15:07:54 浏览: 18
在Python中,一个数如果等于其所有数字的幂次相乘,那么它就是一个自幂数。对于3位数和4位数,我们可以遍历这些范围内的每个数字,然后检查它们是否满足自幂数条件。下面是一个简单的函数实现:
```python
def is_power_of_digit(num):
# 检查是否为3位或4位数
if num < 100 or num > 9999:
return False
# 将数字转换为字符串,便于按位提取每一位数字
str_num = str(num)
# 拼接每一位数字并计算其幂次
digit_product = 1
for digit in str_num:
digit_product *= int(digit)
# 如果结果等于原始数字,那么就是自幂数
return digit_product == num
# 测试函数
three_digit_numbers = range(100, 1000)
four_digit_numbers = range(1000, 10000)
results = []
results.extend([num for num in three_digit_numbers if is_power_of_digit(num)])
results.extend([num for num in four_digit_numbers if is_power_of_digit(num)])
print("3位数和4位数的自幂数:", results)
```
注意:在这个范围内,只有9^2=81, 6^4=1296是自幂数。
阅读全文