当前位置: 首页 > news >正文

C++蓝桥杯真题(题目+解析+流程图)(特殊运算符+四叶玫瑰数+质因数的个数+最大的矩形纸片+数字游戏+活动人数)

C++蓝桥杯真题

    • 蓝桥杯省赛C++题目分析
      • 1. 特殊运算符
        • 题目描述
        • 输入描述
        • 输出描述
        • 输入输出样例
        • 正确代码
        • 错误代码
        • 分析
        • 流程图
      • 2. 四叶玫瑰数
        • 题目描述
        • 输入描述
        • 输出描述
        • 输入输出样例
        • 正确代码
        • 错误代码
        • 分析
        • 流程图
      • 3. 质因数的个数
        • 题目描述
        • 输入描述
        • 输出描述
        • 输入输出样例
        • 正确代码
        • 错误代码
        • 分析
        • 流程图
      • 4. 最大的矩形纸片
        • 题目描述
        • 输入描述
        • 输出描述
        • 输入输出样例
        • 正确代码
        • 错误代码
        • 分析
        • 流程图
      • 5. 数字游戏
        • 题目描述
        • 输入描述
        • 输出描述
        • 输入输出样例
        • 正确代码
        • 错误代码
        • 分析
        • 流程图
      • 6. 活动人数
        • 题目描述
        • 输入描述
        • 输出描述
        • 输入输出样例
        • 正确代码
        • 错误代码
        • 分析
        • 流程图

蓝桥杯省赛C++题目分析

1. 特殊运算符

题目描述

假定有一个运算符“>>>”,它的功能是取一个三位数的前两位。给定一个正整数N(100<N<1000),请计算N-(>>>N)的结果。

输入描述

输入一个正整数N(100<N<1000)。

输出描述

输出一个整数,表示N-(>>>N)的结果。

输入输出样例
  • 输入:257
  • 输出:232
正确代码
#include <iostream>
using namespace std;int main() {int n;cin >> n;int k = n / 10; // “>>>”的意义指取一个三位数的前两位cout << n - k;return 0;
}
错误代码
#include <iostream>
using namespace std;int main() {int n;cin >> n;int k = n / 100; // 错误地取了百位数cout << n - k;return 0;
}
分析

本题的关键在于理解“>>>”运算符的含义,即取三位数的前两位。通过整数除法n/10可以实现这一功能,而不是错误地使用n/100

流程图
开始
输入正整数N
计算k = n / 10
计算结果n - k
输出结果
结束

2. 四叶玫瑰数

题目描述

四叶玫瑰数是指一个四位数,其各位上的数字的四次方之和等于本身。给定两个正整数N和M,请将N~M(1≤N≤M≤1000000)之间(含N和M)的四叶玫瑰数按从小到大的顺序输出。

输入描述

第一行输入两个正整数N、M(1≤N≤M≤1000000)。

输出描述

输出一行,包含若干个用一个空格隔开的正整数,表示N~M之间的四叶玫瑰数。

输入输出样例
  • 输入:1234 2345
  • 输出:1634
正确代码
#include <iostream>
#include <cmath>
using namespace std;bool isFourLeafRose(int num) {int a = num / 1000;int b = num / 100 % 10;int c = num / 10 % 10;int d = num % 10;return pow(a, 4) + pow(b, 4) + pow(c, 4) + pow(d, 4) == num;
}int main() {int n, m;cin >> n >> m;for (int i = max(n, 1000); i <= min(m, 9999); i++) {if (isFourLeafRose(i)) {cout << i << " ";}}return 0;
}
错误代码
#include <iostream>
#include <cmath>
using namespace std;bool isFourLeafRose(int num) {int a = num / 1000;int b = num / 100 % 10;int c = num / 10 % 10;int d = num % 10;return pow(a, 3) + pow(b, 3) + pow(c, 3) + pow(d, 3) == num; // 错误地使用了三次方
}int main() {int n, m;cin >> n >> m;for (int i = n; i <= m; i++) {if (isFourLeafRose(i)) {cout << i << " ";}}return 0;
}
分析

本题需要判断一个四位数是否为四叶玫瑰数,即其各位数字的四次方之和是否等于该数本身。正确代码中使用了pow函数计算四次方,并通过循环遍历指定范围内的所有四位数来寻找符合条件的数。错误代码中错误地使用了三次方,导致无法正确判断四叶玫瑰数。

流程图
http://www.xdnf.cn/news/393481.html

相关文章:

  • ADC接口
  • 职场心得总结(1)-如何获得晋升
  • Java快速上手之实验七
  • 2025-05-11 Unity 网络基础11——UnityWebRequest 使用
  • 【数据结构】前言
  • JVM内存结构有哪些?HashMap和HashTable的区别?
  • 编程技能:字符串函数02,strcpy
  • 解决SSH连接华为云服务器ESC经常性断连问题
  • 数据结构实验9.1:静态查找表的基本操作
  • C++:template(函数模板)
  • GitLab搭建与使用(SSH和Docker)两种方式
  • [学习]RTKLib详解:convkml.c、convrnx.c与geoid.c
  • HTTP 错误状态码以及常用解决方案
  • C++进阶--使用红黑树封装map和set
  • 原型链与继承机制:继承背后的秘密
  • Baklib内容中台的核心架构是什么?
  • 蓝桥杯14届国赛 班级活动
  • 反向代理对于 网络安全中服务器的一些思考
  • MiniMind:3块钱成本 + 2小时!训练自己的0.02B的大模型。minimind源码解读、MOE架构
  • JS | 正则 · 常用正则表达式速查表
  • Go语言——kratos微服务框架使用
  • Google语法整理
  • 《软件项目管理》笔记二
  • 从 TTS 到 TTRL:无标签数据强化学习探索与展望
  • CMOS内存的地址空间在主内存空间中吗?
  • Java Solon-MCP 实现 MCP 实践全解析:SSE 与 STDIO 通信模式详解
  • 深入剖析卷积神经网络之卷积层:原理、类型与优化策略
  • Baklib内容管理平台的核心组成是什么?
  • SpringBoot 自动装配原理 自定义一个 starter
  • Android架构模式推荐及分析和MVC架构模式制作一个简单的底部tab切换