分享刷题过程中有价值的两道题目
小编在这里先祝大家新的一年里所愿皆得,万事顺意,天天开心!!!
一.水仙花数
题目描述:
求100∼999中的水仙花数。若三位数ABC=A^3+B^3+C^3,则称ABC为水仙花数。例如153,13+53+33=1+125+27=153,则153是水仙花数。
可以从题目中得到我们需要的3个信息:
1.我们首先要产生100~999的数字
2.再判断这些数字是不是水仙花数
3.是水仙花数就打印出来
那思路出来了,这道题目的关键就是我们如何判断这个数是否是水仙花数。
其实就是根据题目说的,把每一位分出来,然后每一位的三次方加起来,看他等不等于原来的这三位数。而分离我们每一位数,就需要用到%,/这两个符号。
下面小编直接把代码放出来,供大家参考。
#include<iostream>
#include<cmath>
using namespace std;int main()
{
for (int i = 100; i <= 999; i++)
{
int tmp = i;
int sum = 0;
while (tmp)
{
sum += pow(tmp % 10, 3);
tmp /= 10;
}
if (sum == i)
{
cout << i << endl;
}
}
return 0;
}
二.画矩形
题目描述:
根据输入的四个参数:a,b,c,f 参数,画出对应的矩形。
前两个参数 a,b 为整数,依次代表矩形的高和宽;
第三个参数 c 是一个字符,表示用来填充的矩形符号;
第四个参数 f 为整数,0代表空心,否则代表实心。
这道题可以看到有区分空心和实心,全是实心倒是简单,只需要用两个变量,两次循环遍历即可。那怎么处理空心的呢?
我们其实画个图分析一下就可以了:
假设高和宽都是7,并且是空心的,那就可以画出以下的矩形

为了方便解释,我们直接定义两个变量i和j,i表示行(高a),j表示列(宽b)。
通过这张图,我们不难发现,第一行和最后一行一定都是有符号填充的。
而第一列和最后一列也一定都是有符号填充的。
其实,这就是我们打印空心的条件,或者是方法。
我们只需要使用if语句去判断上面四个加粗字体是否满足就好,如果满足上面四个加粗条件,我们就打印输入的符号(c)。
以上是空心的打印方法。
最开始的时候,我们很容易写出这个框架:

下面就是根据我们分析的进行填充
实心很简单,每行每列直接遍历

空心要加上我们的判断条件

看到这里,可能有些人会有点难以理解这个条件,小编先拆开了给大家演示:
假设我们我们只保留了if条件句中i==1和i==a两个条件,这个时候我们遍历,就很容易想到,当外层循环满足i是第一行(i==1)和i是最后一行(i==a)的时候我们j是每一列都遍历循环,这时候就会打印出来两条有符号的图案。
调试一下,可以看到

那就还剩下竖着的两条图案,也就是我们另外两个条件(j==1)和(j==b)。
这个条件其实是,当我们外层循环i每一次不断增加的时候,我们内层循环只要一碰到j是第一列和j是最后一列的时候就打印符号(c),而其他列则为空。
这个时候我们把四个条件全部加上再来调试一遍:

记得加上打印空的这个条件,不然调试出来的就会是这个样子:

小编把代码放出来供大家参考
#include<iostream>
using namespace std;
int a, b, f;
char c;
int main()
{
cin >> a >> b >> c >> f;if (f != 0)//实心
{
for (int i = 1; i <= a; i++)
{
for (int j = 1; j <= b; j++)
{
cout << c;
}
cout << endl;
}
}
else//空心
{
for (int i = 1; i <= a; i++)
{
for (int j = 1; j <= b; j++)
{
if (i == 1 || i == a || j == 1 || j == b)
cout << c;
else
cout << " ";
}
cout << endl;
}
}
return 0;
}
—优化版本
理解了思路,我们就可以来优化一下,
可以看到虽然我们上面的代码可以运行,但是不够简洁,因为我们打印空心和实心用了两个几乎相似的循环(框架),有点啰嗦,我们可以把空心和实心合并起来,从而让代码更加简洁,可读性更高。
合起来,我们首先可以想到的是要使用if判断,并且合起来不管是空心还是实心我们都需要把空心外面的框架打印出来。

下面就是矩形里面的填充了。
从题目就可以看出来,当f等于0的时候,是空心,也就是矩形框架里面要填充的是空格( ' ' )。
否则,就是实心,也就是矩形框架里面我们直接打印字符c。
小编吧代码放出来,供大家参考:

今天的分享就到这里啦,感谢各位老铁长期以来的支持~

相关文章:
分享刷题过程中有价值的两道题目
小编在这里先祝大家新的一年里所愿皆得,万事顺意,天天开心!!! 一.水仙花数 题目描述: 求100∼999中的水仙花数。若三位数ABCA^3B^3C^3,则称ABC为水仙花数。例如153,135333112527153&…...
蓝桥杯例题六
奋斗是一种态度,也是一种生活方式。无论我们面对什么样的困难和挑战,只要心怀梦想,坚持不懈地努力,就一定能够迈向成功的道路。每一次失败都是一次宝贵的经验,每一次挫折都是一次锻炼的机会。在困难面前,我…...
DeepSeek 详细使用教程
1. 简介 DeepSeek 是一款基于人工智能技术的多功能工具,旨在帮助用户高效处理和分析数据、生成内容、解答问题、进行语言翻译等。无论是学术研究、商业分析还是日常使用,DeepSeek 都能提供强大的支持。本教程将详细介绍 DeepSeek 的各项功能及使用方法。…...
《tcp/ip协议详解》,tcp/ip协议详解
TCP/IP协议(Transmission Control Protocol/Internet Protocol)是网络通信协议的一种,也被称为“Internet协议”,是Internet上运行的基本协议,广泛应用于各种网络环境和应用场合。以下是对TCP/IP协议的详细解析&#x…...
游戏引擎 Unity - Unity 设置为简体中文、Unity 创建项目
Unity Unity 首次发布于 2005 年,属于 Unity Technologies Unity 使用的开发技术有:C# Unity 的适用平台:PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域:开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…...
【数据结构】_时间复杂度相关OJ(力扣版)
目录 1. 示例1:消失的数字 思路1:等差求和 思路2:异或运算 思路3:排序+二分查找 2. 示例2:轮转数组 思路1:逐次轮转 思路2:三段逆置(经典解法) 思路3…...
[Java]异常
在程序运行时,如果遇到问题(比如除以零、文件找不到等),程序会发生异常。异常就像是程序的“错误提醒”,当程序运行中出错时,它会停止,给出一个错误信息。我们可以通过异常处理来控制这些错误&a…...
【C++语言】卡码网语言基础课系列----13. 链表的基础操作I
文章目录 背景知识链表1、虚拟头节点(dummyNode)2、定义链表节点3、链表的插入 练习题目链表的基础操作I具体代码实现 小白寄语诗词共勉 背景知识 链表 与数组不同,链表的元素存储可以是连续的,也可以是不连续的,每个数据除了存储本身的信息…...
Vue.js组件开发-实现图片浮动效果
使用Vue实现图片浮动效果 实现思路 将使用Vue的单文件组件(.vue)来实现图片浮动效果。主要思路是通过CSS的transform属性结合JavaScript的定时器来改变图片的位置,从而实现浮动效果。 代码实现 <template><!-- 定义一个包含图片…...
自制Windows系统(十一、Windows11GUI)
开源地址:下载(Work(Windows11gui).img) 上图 部分代码: void init_screen8(char *vram, int x, int y) { int *fat; unsigned char c; struct MEMMAN *memman (struct MEMMAN *) MEMMAN_ADDR; boxfill8(vram, x, 136, 0, …...
索罗斯的“反身性”(Reflexivity)理论:市场如何扭曲现实?(中英双语)
索罗斯的“反身性”(Reflexivity)理论:市场如何扭曲现实? 一、引言:市场是镜子,还是哈哈镜? 在传统经济学中,市场通常被认为是一个理性、有效的反映现实的系统。按照经典经济学理论…...
力扣257. 二叉树的所有路径(遍历思想解决)
Problem: 257. 二叉树的所有路径 文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的先序遍历) 利用先序遍历的思想,我门用一个List变量path记录当前先序遍历的节点,当遍历到根节点时,将其添加到另一个List变量res中&…...
使用朴素贝叶斯对散点数据进行分类
本文将通过一个具体的例子,展示如何使用 Python 和 scikit-learn 库中的 GaussianNB 模型,对二维散点数据进行分类,并可视化分类结果。 1. 数据准备 假设我们有两个类别的二维散点数据,每个类别包含若干个点。我们将这些点分别存…...
如何实现滑动列表功能
文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了沉浸式状态栏相关的内容,本章回中将介绍SliverList组件.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里介绍的SliverList组件是一种列表类组件,类似我们之前介…...
计算机网络一点事(22)
地址解析协议ARP ARP:查询Mac地址 ARP表(ARP缓存):记录映射关系,一个数据结构,定期更新ARP表 过程:请求分组,响应分组 动态主机配置协议DHCP 分配IP地址,配置默认网关…...
C# 语言基础全面解析
.NET学习资料 .NET学习资料 .NET学习资料 一、引言 C# 是一种功能强大、面向对象且类型安全的编程语言,由微软开发,广泛应用于各种类型的软件开发,从桌面应用、Web 应用到游戏开发等领域。本文将全面介绍 C# 语言的基础知识,帮…...
[原创](Modern C++)现代C++的关键性概念: 流格式化
常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、Eclipse、C Bui…...
《数据可视化新高度:Graphy的AI协作变革》
在数据洪流奔涌的时代,企业面临的挑战不再仅仅是数据的收集,更在于如何高效地将数据转化为洞察,助力决策。Graphy作为一款前沿的数据可视化工具,凭借AI赋能的团队协作功能,为企业打开了数据协作新局面,重新…...
C++并发:设计无锁数据结构
只要摆脱锁,实现支持安全并发访问的数据结构,就有可能解决大粒度锁影响并发程度以及错误的加锁方式导致死锁的问题。这种数据结构称为无锁数据结构。 在了解本文时,务必读懂内存次序章节。 在设计无锁数据结构时,需要极为小心谨…...
蓝桥杯刷题DAY2:二维前缀和 一维前缀和 差分数组
闪耀的灯光 📌 题目描述 蓝桥公园是一个适合夜间散步的好地方,公园可以被视为由 n m 个矩形区域构成。每个区域都有一盏灯,初始亮度为 a[i][j]。 小蓝可以选择一个大的矩形区域,并按下开关一次,这将使得该区域内每盏…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

