R7-8 特别数之和 分数 5 作者 杨军 单位 四川师范大学 小A对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。 请问,在 1 到n 中,所有这样的数的和是多少? 输入格式: 输入一行包含一个整数n 输出格式: 输出一行,包含一个整数,表示满足条件的数的和。 输入样例: 在这里给出一组输入。例如: 40 输出样例: 在这里给出相应的输出。例如: 574
时间: 2024-03-17 10:43:54 浏览: 196
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身
5星 · 资源好评率100%
以下是完整的 Python 代码实现:
```python
n = int(input())
ans = 0
for i in range(1, n+1):
if '2' in str(i) or '0' in str(i) or '1' in str(i) or '9' in str(i):
ans += i
print(ans)
```
当然,这个代码并不是最优解,因为它需要对每个数进行字符串转换和判断,时间复杂度较高,可以考虑其他优化方法,比如使用集合来存储这四个数字,然后使用取模和除法操作来判断一个数是否包含这些数字。
阅读全文