第十届蓝桥杯C语言A组-平方和

1. 问题描述:

小明对数位中含有 2、 0、 1、 9 的数字很感兴趣,在 1 到 40 中这样的数包括 1、 2、 9、 10 至 32、 39 和 40,共 28 个,他们的和是 574,平方和是 14362。注意,平方和是指将每个数分别平方后求和。
请问,在 1 到 2019 中,所有这样的数的平方和是多少?
答案提交
这是一道结果输出的题,你只需要算出结果后提交输出即可。本题的结果为一个整数,在输出答案时只输出这个整数,输出多余的内容将无法得分。提示:如果你编写程序计算,发现结果是负的,请仔细检查自己的程序,不要怀疑考场的编程软件。
输入
没有输入。
输出
输出一个整数

2. 思路分析:

分析题目可以知道我们可以枚举1-2019范围的数字,判断数字中是否包含2、0、1、9这些数字,因为使用的python语言,所以可以直接将当前的数字通过str转换为字符串,判断字符串是否包含"2","0","1","9"这些字符,如果存在则计算当前遍历数字的平方累加到结果中即可,如果是其他语言可以使用除10取余的方法判断当前数字的各个位置上的数字是否包含2,0,1,9这些数字。

3. 代码如下:

if __name__ == '__main__':
    # 暴力枚举即可
    res = 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:
            res += i * i
    print(res)

猜你喜欢

转载自blog.csdn.net/qq_39445165/article/details/115036143
今日推荐