蓝桥杯历年真题官方题解——平方和

admin 2022年9月29日18:14:58评论30 views字数 1078阅读3分35秒阅读模式
蓝桥杯历年真题官方题解——平方和
点击蓝字 关注我们
蓝桥杯历年真题官方题解——平方和

今日「每日一题」来啦!历年真题题目:平方和。还没有加入专属刷题群的小伙伴,记得扫码哟~(每天会在群里发蓝桥杯历年真题)


蓝桥杯历年真题官方题解——平方和


题目描述


本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。


小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574,平方和是 14362


注意,平方和是指将每个数分别平方后求和。


请问,在 1 到 2019 中,所有这样的数的平方和是多少?


解题思路


本题使用的知识点为 枚举、模拟,涉及组别为第 10 届蓝桥杯软件类 C/C++ A 组、Java A 组


本题是一个简单的判断数字中是否含有特定数位的题目。我们只需要对 1 到 2019 中每一个数字循环除 10 取余进行数位判断即可。


由于求平方和,可能会导致答案过大,需要用长整型保存答案。


参考代码


1.Java

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Long res = 0L;//保存答案
for (int i = 1; i <= 2019; i++) if (check(i)) res += i*i;//求平方和 System.out.print(res); }
static boolean check(int n) { String a=n+""; if (a.contains("2")||a.contains("0")||a.contains("1")||a.contains("9")){ return true;//若含有特定数位则返回 true }else { return false;
} }
}


2.C/C++

#include <iostream>using namespace std;
bool check(int x) {//进行数位判断 int c; while (x) { c = x % 10; if (c == 0 || c == 2 || c == 1 || c == 9) { return true;//若含有特定数位则返回 true } x /= 10; } return false;}
int main() { long long res = 0;//保存答案 for (int i = 1; i <= 2019; i++) { if (check(i)) { res += i * i;//求平方和 } } cout << res << endl; return 0;}


今日的「每日一题」就结束啦~备战第 14 届蓝桥杯的小伙伴,快来一起刷题吧~


▼加入蓝桥杯备赛刷题▼

蓝桥杯历年真题官方题解——平方和

原文始发于微信公众号(蓝桥云课精选):蓝桥杯历年真题官方题解——平方和

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年9月29日18:14:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   蓝桥杯历年真题官方题解——平方和https://cn-sec.com/archives/1324290.html

发表评论

匿名网友 填写信息