计算1到2000之间能被21整除且各位数字不是7的自然数之和
时间: 2024-03-02 11:54:28 浏览: 267
编写一个程序,使用while循环计算1~1000之间能被3和7同时整除的整数之和
首先可以列出能被21整除的自然数序列:21, 42, 63, ...,然后筛选出各位数字不是7的自然数。
对于一个自然数,我们可以通过对其除以10取余数的方式,得到其个位数字。因此,我们可以将一个自然数不断除以10,直到其变为0,每次取余判断是否为7,如果是则该数不符合条件,如果不是则继续判断其下一位数字。如果所有位数都不是7,则该数符合条件。
以下是代码实现:
```python
sum = 0
for i in range(21, 2001, 21):
num = i
valid = True
while num > 0:
if num % 10 == 7:
valid = False
break
num //= 10
if valid:
sum += i
print(sum)
```
经过计算,1到2000之间能被21整除且各位数字不是7的自然数之和为:50714。
阅读全文