小杨有 n n个正整数,他认为一个正整数是美丽数字当且仅当该正整数每一位数字的总和是 7 7的倍数。 小杨想请你编写一个程序判断 n n个正整数哪些是美丽数字
时间: 2024-10-09 10:16:32 浏览: 157
为了帮助小杨编写这个程序,你可以使用 Python 编程语言。首先,你需要创建一个函数,接受一个整数作为输入,然后计算它的各位数字之和,并检查是否能被7整除。接下来是一个简单的算法步骤:
1. 定义一个名为 `is_beautiful_number` 的函数,接收一个参数 `num`。
2. 使用 while 循环,直到 `num` 变为0:
a. 获取 `num` 的最后一个数字,可以使用取模运算 `%` 来实现(`digit = num % 10`)。
b. 累加这个数字到 `sum_digits`。
c. 更新 `num` 为去掉最后一位后的值(`num //= 10`)。
3. 判断 `sum_digits` 是否能被7整除,如果能,则返回 True;否则返回 False。
下面是完整的代码示例:
```python
def is_beautiful_number(num):
sum_digits = 0
while num > 0:
digit = num % 10
sum_digits += digit
num //= 10
return sum_digits % 7 == 0
# 测试函数
numbers = [int(input("请输入一个正整数 (0 结束): ")) for _ in range(int(input("请输入数字个数 n: ")))]
beautiful_numbers = [num for num in numbers if is_beautiful_number(num)]
print("美的数字有:", beautiful_numbers)
阅读全文