编写程序求出1到n之间的快乐数
时间: 2024-12-20 14:20:18 浏览: 2
编写程序求解一个整数从1到n之间的"快乐数"(Happy Number),是一个常见的算法题。快乐数的概念源于一个数学游戏:对于一个正整数,按以下规则重复操作直到得到1为止,该数称为快乐数。步骤如下:
1. 将数字每个位上的数字平方相加。
2. 如果结果仍然是一个数字,再次对这个新的数字重复步骤1;如果结果为1,则结束循环。
下面是一个简单的Python代码示例,用于计算给定范围内的所有快乐数:
```python
def is_happy_number(num):
def sum_of_squares(n):
return sum(int(digit) ** 2 for digit in str(n))
while num != 1 and num != 4:
if sum_of_squares(num) == 1:
return True
elif sum_of_squares(sum_of_squares(num)) == 1:
return True
else:
num = sum_of_squares(sum_of_squares(num))
return num == 1
def find_happy_numbers(n):
happy_nums = []
for i in range(1, n+1):
if is_happy_number(i):
happy_nums.append(i)
return happy_nums
# 调用函数并打印1到n之间的快乐数
n = 100
happy_numbers = find_happy_numbers(n)
print(f"1到{n}之间的快乐数有:{happy_numbers}")
阅读全文