LQ0012 平方和进制

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0012 平方和进制相关的知识,希望对你有一定的参考价值。

题目出处:蓝桥杯2019初赛

题目描述
小明对数位中含有2、0、1、9 的数字很感兴趣,在1 到40 中这样的数包
括1、2、9、10 至32、39 和40,共28 个,他们的和是574,平方和是14362。
注意,平方和是指将每个数分别平方后求和。
请问,在1 到2019 中,所有这样的数的平方和是多少?

输出格式
输出一个整数表示答案

题目分析
对1到2019的数,判定其各位是否含有2019四个数字之一,含有的话则累加其平方,最后输出平方和。
解题程序算出的结果为2658417853。

AC的C语言程序如下:

/* LQ0012 平方和 */

#include <stdio.h>

int judge(int n)

    int ret = 0;
    while (n) 
        int r = n % 10;
        if (r == 2 || r == 0 || r == 1 || r == 9)
            return 1;
        n /= 10;
    
    return ret;


int main()

    long long ans = 0;
    for (int i = 1; i <= 2019; i++)
        if (judge(i)) ans += i * i;

    printf("%lld\\n", ans);

    return 0;

以上是关于LQ0012 平方和进制的主要内容,如果未能解决你的问题,请参考以下文章

LQ0068 X进制减法进制

LQ0050 平方怪圈模拟+进制

LQ0203 排它平方数枚举+进制

LQ0044 求和进制

LQ0041 特别数的和进制

LQ0005 数的分解枚举+进制