用python编写程序,要求在键盘输入两个正整数a,b(1<=a<b<=1000000),用空格隔开,输出大于等于a且小于等于b的能被3,5和7整除的数的个数。(用集合实现)
时间: 2024-02-22 12:56:07 浏览: 68
判断每个输入的数是否可被3,5和7整除,并将整除状态输出。
好的,我来回答你的问题。
以下是 Python 代码,实现你的要求:
```python
a, b = map(int, input().split())
# 构造集合,包含大于等于a且小于等于b的所有整数
nums = set(range(a, b+1))
# 筛选出能被3,5,7整除的数
nums = nums & set(filter(lambda x: x % 3 == 0, nums))
nums = nums & set(filter(lambda x: x % 5 == 0, nums))
nums = nums & set(filter(lambda x: x % 7 == 0, nums))
# 输出集合元素个数
print(len(nums))
```
这个程序中,我们首先读入两个整数 a 和 b,然后构造一个集合,包含大于等于 a 且小于等于 b 的所有整数。接着,我们使用 Python 的 filter 函数和 lambda 表达式,筛选出能够被 3、5、7 整除的数,并将它们组成一个集合。最后,我们输出这个集合的大小,即为符合要求的数的个数。
注意,这个程序中使用了 Python 的集合数据结构,它可以自动去重,并且支持快速的集合运算,如交集、并集等。
阅读全文