首页 > 编程语言 >第十一届蓝桥杯C/C++组C组决赛之思维风暴 快速解题

第十一届蓝桥杯C/C++组C组决赛之思维风暴 快速解题

时间:2024-04-09 23:04:20浏览次数:28  
标签:std 年份 int 合数 C++ 蓝桥 解题 2020 天干地支

十五届蓝桥杯即将开赛,十一届的蓝桥杯国赛的一些巧妙解法。

美丽的2 

题目描述


本题为填空题,只需要算出结果后,在代码中使用输出语包将所填结果输出即
可。
小蓝特别喜欢2,今年是公元2020年,他特别高兴。他很好奇,在公元1年到公元2020年(包含)中,有多少个年份的数位中包含数字2?


运行限制


最大运行时间:1s 
最大运行内存:128M

难度:中等  标签:2020 模拟 国赛

题解

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int count = 0;
    for (int i = 1; i <= 2020; ++i) 
    {
        int temp = i;
        while(temp)
        {
            int x = temp % 10;
            temp = temp/10;
            if(x == 2)
            {
                count++;
                break;//重点!!!一旦确定有2就结束本次循环,避免重复计算
            }
        }
    }
    cout << count << endl;
    return 0;
}

运行结果:

563

合数个数

题目描述


本题为填空题,只需要算出结果后,在代码中使用输出语包将所填结果输出即可。
一个数如果除了1和自己还有其他约数,则称为一个合数。例如:1,2,3不是合数,4,6是合数。
请问从1到2020一共有多少个合数。

运行限制


最大运行时间:1s 
最大运行内存:128M

难度:困难标签:2020,模拟枚举,国赛

题解

本题正常思维是求合数,把合数累加然后输出结果。

根据合数定义:一个数如果除了1和自己还有其他约数,则称为一个合数

#include <bits/stdc++.h>
using namespace std;
int sushu(int x)
{
	int j=x;
	int count=0,flag=0;//定义标志,避免重复计数
	for(int i=2;i<=j;i++)
    {
		if(j%i==0&&i!=x&&flag==0)//根据合数定义判断是否为合数
        {
			flag=1;
			count++;
		}
	}
	return count;
}

int main()
{
	int sum=0,i;
	for(i=2;i<=2020;i++)//从2开始,舍弃1这个约数 简化运算量
    {
		sum+=sushu(i);
	}
	cout<<sum;
    return 0;
}

运行结果:

1713

天干地支

题目描述


古代中国使用天干地支来记录当前的年份。
天干-共有十个,分别为:甲(ja)、乙(yi)、丙(bing)、丁(ding)、戊(wi)、己(D)、庚(geng)、辛(xin)、王(rn)、癸(gui)。
地支一共有十二个,分别为:子(z)、丑(chu)、寅(yin)、卯(mo)、辰(chn)、已(si)、午(wu)、未(wei)、申(shn)、西(yu)、戌(xi)、亥(hai)。
将天干和地支连起来,就组成了一个天干地支的年份,例如:甲子。
2020年是庚子年。
每过一年,天干和地支都会移动到下一个。例如2021年是辛丑年。
每过60年,天干会循环6轮,地支会循环5轮,所以天干地支纪年每60 
年轮回一次。例如1900年,1960年,2020年都是庚子年。
给定一个公元纪年的年份,请输出这一年的天干地支年份。


输入描述


输入一行包含一个正整数,表示公元年份。
其中有,输入的公元年份为不超过9999的正整数。
输出描述
输入一行包含一个正整数,表示公元年份。
输入输出样例

输入:

2020

输出:

gengzi

题解

以样例为基础,结合天干地支规律,列成天干地支两个数组循环推算出天干地支。

#include <iostream>
int main()
{
    int year;
    std::cin >> year;
    std::string heavenly[10] = {"geng", "xin", "ren", "gui", "jia", "yi" , "bing", "ding", "wu", "ji"};
    std::string earthlyBranch[12] = {"shen", "you", "xu", "hai", "zi", "chou", "yin", "mou", "chen", "si", "wu", "wei"};

    std::cout << heavenly[year % 10] << earthlyBranch[year % 12] << std::endl;
}

标签:std,年份,int,合数,C++,蓝桥,解题,2020,天干地支
From: https://blog.csdn.net/2301_77871667/article/details/137569691

相关文章

  • Acwing2024蓝桥杯DFS
    模板:AcWing826.单链表利用数组创建单链表:#include<iostream>usingnamespacestd;constintN=100005;inthead,value[N],nextt[N],id;voidInit(){head=-1,id=0;}voidHead_Insert_x(intx){value[id]=x;nextt[id]=head;head=id++;}voidD......
  • 杨辉三角形(蓝桥杯,acwing)
    题目描述:下面的图形是著名的杨辉三角形:如果我们按从上到下、从左到右的顺序把所有数排成一列,可以得到如下数列:1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,...给定一个正整数 N,请你输出数列中第一次出现 N 是在第几个数?输入格式:输入一个整数 N。输出格式:输......
  • 蓝桥杯-公平抽签
    0.题目题目描述小A的学校,蓝桥杯的参赛名额非常有限,只有m个名额,但是共有n个人报名。作为老师非常苦恼,他不知道该让谁去,他在寻求一个绝对公平的方式。于是他准备让大家抽签决定,即m个签是去,剩下的是不去。小A非常想弄明白最后的抽签结果会有多少种不同到情况,请你设计一......
  • 手把手教你做阅读理解题-初中中考阅读理解解题技巧015-Explore Beautiful Lake Charle
    PDF格式公众号回复关键字:ZKYD015阅读理解技巧,在帮助读者有效获取和理解文本信息方面发挥着重要作用,熟练掌握如下6个技巧,可快速突破阅读理解1预览文章结构在开始深入阅读之前,快速浏览文章的标题、段落开头和结尾,可以迅速把握文章的主题、大致内容和结构标题通常能概括文章......
  • 蓝桥杯 强者挑战赛9
    标算无理数位数查询LL没开全,WA想不太清楚细节,写了半个多小时。。。预处理而不是现算会好写一点赛时做法先确定第\(n\)位所属的数的位数,再确定该位数中第\(k\)大的数标算设\(g(x)\)表示\(m\)进制下\(1\simx\)的位数和,二分第\(n\)位所属的数贝贝的集合先不......
  • c++中的缺省参数
    c++相对于C语言的一个新的语法叫做缺省参数。什么叫做缺省参数呢???我们先来看我们已知的Add函数缺省参数就是给x和y赋一个默认的值  我们可以根据自己的需要将x或者y给上缺省值看下面一个例子: 如果我们将函数中所有的参数都给上了缺省值,我们也叫这些参数为全缺省参数......
  • C++11:超进化--lambda表达式
    目录一、lambda表达式的引入二、lambda表达式的语法2.1lambda表达式各部分说明2.2lambda函数的初步使用2.3详谈捕捉列表2.3.1[var][&var] 2.3.2[=]传值捕捉当前域所有对象 2.3.3[&]传引用捕捉所有对象2.3.4[&,val]混合捕捉​编辑 三、lambda底层、lambda与函数对......
  • 蓝桥杯之初等数论
    在蓝桥杯竞赛中,初等数论部分涉及多个关键知识点。以下是对这些知识点的详细列出、基本概念解释、应用实例以及解题策略和步骤的说明:1.质数与合数基本概念:质数(素数):大于1的自然数中,只能被1和它本身整除的数。合数:除了1和它本身以外还有其他因数的自然数。应用实例:题目:......
  • 问题解决 usr/include/c++/11/bits/list.tcc:344:24: error: no match for ‘operator
    1.问题解决usr/include/c++/11/bits/list.tcc:344:24:error:nomatchfor‘operator==’错误解释:这个编译错误表明编译器在尝试使用==操作符比较两个对象时找不到匹配的操作符函数。在C++中,如果你尝试比较两个自定义类型的对象,且没有为这些对象定义==操作符,编译器将无法进......
  • C++ 标准模板库 STL(1)set 与 multiset
    一、简介    set与multiset容器能够快速查找键,键是存储在一维容器中的值,二者的区别在于前者不能够存储重复的键值,后者能够存储重复键值。    set与multiset内部结构类似于二叉树,并且被插入到set与multiset容器中的元素会默认进行排序,从而提高查找速度。这意......