题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明对数位中含有2、0、1、9的数字很感兴趣,在1到40中这样的数包括
1、2、9、10至32、39和40,共28个,他们的和是574,平方和是14362。
注意,平方和是指将每个数分别平方后求和。
请问,在1到2019中,所有这样的数的平方和是多少?

我们需要找到每个数是否存在2,0,1,9任意一个数即可,重复的数字都只算一次。

import os
import sys

# 请在此输入您的代码

count = 0
for num in range(1,2020):
  for i in str(num):
    if i in '2019':
      count += num ** 2 
      break # 这里如果不写break遇到重复数字如111会重复计算,导致结果不正确。
print(count)

将数字看成字符来统计

sum=0
for i in range(1,2020):
  s = str(i)
  if '2' in s or '0' in s or '1' in s or '9'in s: sum+=i**2
print(sum)
posted on 2024-02-29 17:29  逢考必过好吗秋梨膏  阅读(8)  评论(0)    收藏  举报