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

分享刷题过程中有价值的两道题目

小编在这里先祝大家新的一年里所愿皆得,万事顺意,天天开心!!!

一.水仙花数

题目描述:

求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。

小编吧代码放出来,供大家参考:

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

相关文章:

分享刷题过程中有价值的两道题目

小编在这里先祝大家新的一年里所愿皆得&#xff0c;万事顺意&#xff0c;天天开心&#xff01;&#xff01;&#xff01; 一.水仙花数 题目描述&#xff1a; 求100∼999中的水仙花数。若三位数ABCA^3B^3C^3&#xff0c;则称ABC为水仙花数。例如153&#xff0c;135333112527153&…...

Java篇之继承

目录 一. 继承 1. 为什么需要继承 2. 继承的概念 3. 继承的语法 4. 访问父类成员 4.1 子类中访问父类的成员变量 4.2 子类中访问父类的成员方法 5. super关键字 6. super和this关键字 7. 子类构造方法 8. 代码块的执行顺序 9. protected访问修饰限定符 10. 继承方式…...

7.DP算法

DP 在C中&#xff0c;动态规划&#xff08;Dynamic Programming&#xff0c;DP&#xff09;是一种通过将复杂问题分解为重叠子问题来高效求解的算法设计范式。以下是DP算法的核心要点和实现方法&#xff1a; 一、动态规划的核心思想 重叠子问题&#xff1a;问题可分解为多个重…...

[SAP ABAP] 在ABAP Debugger调试器中设置断点

在命令框输入/H&#xff0c;点击回车以后&#xff0c;调试被激活&#xff0c;点击触发任意事件进入ABAP Debugger调试器界面 点击按钮&#xff0c;可以在Debugger调试器中新增临时断点 我们可以从ABAP命令、方法、功能、表单、异常、消息、源代码等多个维度在Debugger调试器中设…...

使用LLaMA-Factory对AI进行认知的微调

使用LLaMA-Factory对AI进行认知的微调 引言1. 安装LLaMA-Factory1.1. 克隆仓库1.2. 创建虚拟环境1.3. 安装LLaMA-Factory1.4. 验证 2. 准备数据2.1. 创建数据集2.2. 更新数据集信息 3. 启动LLaMA-Factory4. 进行微调4.1. 设置模型4.2. 预览数据集4.3. 设置学习率等参数4.4. 预览…...

2 [GitHub遭遇严重供应链投毒攻击]

近日&#xff0c;有黑客针对 Discord Top.gg 的GitHub 账户发起了供应链攻击&#xff0c;此次攻击导致账户密码、凭证和其他敏感信息被盗&#xff0c;同时也影响到了大量开发人员。 Checkmarx 在一份技术报告中提到&#xff0c;黑客在这次攻击中使用了多种TTP&#xff0c;其中…...

[c语言日寄]C语言类型转换规则详解

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还是…...

Python魔法函数

在Python中&#xff0c;的确有“魔法函数”&#xff08;Magic Methods&#xff09;这种说法&#xff0c;也被称为特殊方法&#xff08;Special Methods&#xff09;。这些函数的名称以双下划线开始和结束&#xff0c;例如 __init__、__len__ 等。它们为Python提供了一种约定俗成…...

Cypher入门

文章目录 Cypher入门创建数据查询数据matchoptional matchwhere分页with 更新数据删除数据实例&#xff1a;好友推荐 Cypher入门 Cypher是Neo4j的查询语言。 创建数据 在Neo4j中使用create命令创建节点、关系、属性数据。 create (n {name:$value}) return n //创建节点&am…...

excel如何查找一个表的数据在另外一个表是否存在

比如“Sheet1”有“张三”、“李四”“王五”三个人的数据&#xff0c;“Sheet2”只有“张三”、“李四”的数据。我们通过修改“Sheet1”的“民族”或者其他空的列&#xff0c;修改为“Sheet2”的某一列。这样修改后筛选这个修改的列为空的或者为出错的&#xff0c;就能找到两…...

【华为OD-E卷 - 连续出牌数量 100分(python、java、c++、js、c)】

【华为OD-E卷 - 连续出牌数量 100分&#xff08;python、java、c、js、c&#xff09;】 题目 有这么一款单人卡牌游戏&#xff0c;牌面由颜色和数字组成&#xff0c;颜色为红、黄、蓝、绿中的一种&#xff0c;数字为0-9中的一个。游戏开始时玩家从手牌中选取一张卡牌打出&…...

buu-jarvisoj_level0-好久不见30

嘶&#xff0c;我咋觉得这个也是栈溢出呢&#xff0c;找到读取的值&#xff0c;在再找到后门函数...

DeepSeek r1本地安装全指南

环境基本要求 硬件配置 需要本地跑模型&#xff0c;兼顾质量、性能、速度以及满足日常开发需要&#xff0c;我们需要准备以下硬件&#xff1a; CPU&#xff1a;I9内存&#xff1a;128GB硬盘&#xff1a;3-4TB 最新SSD&#xff0c;C盘确保有400GB&#xff0c;其它都可划成D盘…...

【论文笔记】Fast3R:前向并行muti-view重建方法

众所周知&#xff0c;DUSt3R只适合做稀疏视角重建&#xff0c;与sapnn3r的目的类似&#xff0c;这篇文章以并行的方法&#xff0c;扩展了DUSt3R在多视图重建中的能力。 abstract 多视角三维重建仍然是计算机视觉领域的核心挑战&#xff0c;尤其是在需要跨不同视角实现精确且可…...

开源智慧园区管理系统对比其他十种管理软件的优势与应用前景分析

内容概要 在当今数字化快速发展的时代&#xff0c;园区管理软件的选择显得尤为重要。而开源智慧园区管理系统凭借其独特的优势&#xff0c;逐渐成为用户的新宠。与传统管理软件相比&#xff0c;它不仅灵活性高&#xff0c;而且具有更强的可定制性&#xff0c;让各类园区&#…...

第四节 MATLAB变量

每个MATLAB变量可以是数组或者矩阵。 用一个简单的方法指定变量。例如&#xff1a; x 3 % defining x and initializing it with a value MATLAB执行上述语句&#xff0c;并返回以下结果&#xff1a; x 3 上述的例子创建了一个1-1的矩阵名为x和的值存储在其元素中…...

小红的小球染色期望

B-小红的小球染色_牛客周赛 Round 79 题目描述 本题与《F.R小红的小球染色期望》共享题目背景&#xff0c;但是所求内容与范围均不同&#xff0c;我们建议您重新阅读题面。 有 n 个白色小球排成一排。小红每次将随机选择两个相邻的白色小球&#xff0c;将它们染成红色。小红…...

c++井字棋(单人对电脑:1.电脑随机下 2.电脑AI;3.双人对决)

本游戏分两个模式&#xff0c;三种玩法&#xff1a; 每个玩法中的人下棋规则不变&#xff0c;如下&#xff1a; while (1) {/*输入*/int row,col;cout<<"请输入坐标(1索引):\n";cin>>row>>col;/*切换索引*/row--;col--;if(legal(row,col)) {prin…...

Python 原子操作:使用 `atomic` 模块保证线程安全

Python 原子操作:使用 atomic 模块保证线程安全 在多线程编程中,共享数据的访问往往需要考虑线程安全问题。如果多个线程同时修改同一个变量,可能会导致数据竞争,从而产生不可预测的结果。为了解决这个问题,我们可以使用原子操作。原子操作是指不可中断的操作,要么全部执…...

《解锁AI黑科技:数据分类聚类与可视化》

在当今数字化时代&#xff0c;数据如潮水般涌来&#xff0c;如何从海量数据中提取有价值的信息&#xff0c;成为了众多领域面临的关键挑战。人工智能&#xff08;AI&#xff09;技术的崛起&#xff0c;为解决这一难题提供了强大的工具。其中&#xff0c;能够实现数据分类与聚类…...

使用朴素贝叶斯对自定义数据集进行分类

准备自定义数据集 首先&#xff0c;需要一个自定义数据集来进行分类。创建一个简单的二维数据集&#xff0c;其中每个样本有两个特征&#xff0c;并且属于两个类别之一。 import numpy as np import pandas as pd# 创建自定义数据集 np.random.seed(42) num_samples 100# 生…...

《超自然》:科学与灵性融合的自我转变之路

在现代社会中&#xff0c;许多人开始探寻自我成长、身心疗愈与灵性提升的可能性。Bestselling author Dr. Joe Dispenza 的《超自然&#xff1a;普通人如何创造非凡人生》正是在这样的大背景下问世的。书中既融合了量子物理、神经科学和表观遗传学的前沿理论&#xff0c;又吸收…...

学习日记-250202

现在开始要继续写我的日记了......&#xff08;也可以当作笔记吧&#xff09; 一.论文 Prompt Transfer for Dual-Aspect Cross Domain Cognitive Diagnosis 主要内容&#xff1a; 主要是加入prompt提示&#xff0c; 为重叠实体设计个性化的提示&#xff0c;为非重叠实体设计共…...

AI(计算机视觉)自学路线

本文仅用来记录一下自学路线方便日后复习&#xff0c;如果对你自学有帮助的话也很开心o(*&#xffe3;▽&#xffe3;*)ブ B站吴恩达机器学习->B站小土堆pytorch基础学习->opencv相关知识&#xff08;Halcon或者opencv库&#xff09;->四类神经网络&#xff08;这里跟…...

游戏引擎 Unity - Unity 启动(下载 Unity Editor、生成 Unity Personal Edition 许可证)

Unity Unity 首次发布于 2005 年&#xff0c;属于 Unity Technologies Unity 使用的开发技术有&#xff1a;C# Unity 的适用平台&#xff1a;PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域&#xff1a;开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…...

第二篇:多模态技术突破——DeepSeek如何重构AI的感知与认知边界

——从跨模态对齐到因果推理的工程化实践 在AI技术从单一模态向多模态跃迁的关键阶段&#xff0c;DeepSeek通过自研的多模态融合框架&#xff0c;在视觉-语言-语音的联合理解与生成领域实现系统性突破。本文将从技术实现层面&#xff0c;解构其跨模态表征学习、动态融合机制与…...

41. 缺失的第一个正数

参考题解&#xff1a;https://leetcode.cn/problems/first-missing-positive/solutions/7703/tong-pai-xu-python-dai-ma-by-liweiwei1419 难点在于时间复杂度控制在O(n)&#xff0c;空间复杂度为常数级。 哈希表时间复杂度符合&#xff0c;但是空间复杂度为O(n) 排序空间复杂…...

DeepSeek R1 简易指南:架构、本地部署和硬件要求

DeepSeek 团队近期发布的DeepSeek-R1技术论文展示了其在增强大语言模型推理能力方面的创新实践。该研究突破性地采用强化学习&#xff08;Reinforcement Learning&#xff09;作为核心训练范式&#xff0c;在不依赖大规模监督微调的前提下显著提升了模型的复杂问题求解能力。 技…...

经典游戏红色警戒2之英语

1. New construction options 部署新的建筑物&#xff08;一般是部署基地车时说的&#xff09;。 2. Loading 等待。&#xff08;正在进行&#xff09; 3. Construction complete 建筑完成。 4. On hold 等待。&#xff08;暂停进行&#xff09; 5. Canceled 取消。 6. Ca…...

Zemax 中带有体素探测器的激光谐振腔

激光谐振腔是激光系统的基本组成部分&#xff0c;在光的放大和相干激光辐射的产生中起着至关重要的作用。 激光腔由两个放置在光学谐振器两端的镜子组成。一个镜子反射率高&#xff08;后镜&#xff09;&#xff0c;而另一个镜子部分透明&#xff08;输出耦合器&#xff09;。…...

猴子吃桃问题

# 猴子吃桃问题&#xff1a;猴子第一天摘下若干个桃子&#xff0c;当即吃了一半&#xff0c;还不瘾&#xff0c;有多吃了一个&#xff0c;第二天早上有将剩下的桃子吃掉一半&#xff0c;又多吃了一个。以后每天早上都吃了前一天剩的一半零一个。到第十天早上想再吃时&#xff0…...

ELECTRA:作为判别器而非生成器的预训练文本编码器

摘要 诸如BERT之类的掩码语言建模&#xff08;MLM&#xff09;预训练方法通过将某些标记替换为[MASK]来破坏输入&#xff0c;然后训练模型以重建原始标记。尽管这些方法在下游自然语言处理&#xff08;NLP&#xff09;任务中表现良好&#xff0c;但它们通常需要大量的计算资源…...

图论——最小生成树

最小生成树 给定一个无向图&#xff0c;在图中选择若干条边把图的所有节点连起来。要求边长之和最小。在图论中&#xff0c;叫做求最小生成树。 prim算法 prim 算法采用的是一种贪心的策略。 每次将离连通部分的最近的点和点对应的边加入的连通部分&#xff0c;连通部分逐渐扩大…...

【Linux-网络】初识计算机网络 Socket套接字 TCP/UDP协议(包含Socket编程实战)

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长&#xff0c;行则将至 目录 &#x1f4da;一、初识计算机网络 &#x1f4d6; 背景 &#x1f4d6; 网络协议 &#x1f516;OSI七层…...

三数之和(15)

15. 三数之和 - 力扣&#xff08;LeetCode&#xff09; 可以一起总结的题目&#xff1a;三角形的最大周长&#xff08;976&#xff09;-CSDN博客 解法&#xff1a; class Solution { public:vector<vector<int>> threeSum(vector<int>& nums) {vector…...

6 Flink 状态管理

6 Flink 状态管理 1. State-Keyed State2. State-Operator State3. Broadcast State 我们前面写的 wordcount 的例子&#xff0c;没有包含状态管理。如果一个task在处理过程中挂掉了&#xff0c;那么它在内存中的状态都会丢失&#xff0c;所有的数据都需要重新计算。从容错和消…...

物联网 STM32【源代码形式-使用以太网】连接OneNet IOT从云产品开发到底层MQTT实现,APP控制 【保姆级零基础搭建】

物联网&#xff08;IoT&#xff09;‌是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器等装置与技术&#xff0c;实时采集并连接任何需要监控、连接、互动的物体或过程&#xff0c;实现对物品和过程的智能化感知、识别和管理。物联网的核心功能包括数据采集与监…...

elasticsearch8.15 高可用集群搭建(含认证Kibana)

文章目录 1.资源配置2.系统参数优化3.JDK17安装4.下载&安装ES 8.155.生成ES的证书(用于ES节点之间进行安全数据传输)6.修改ES 相关配置文件7.创建es用户并启动8.配置ES的账号和密码(用于ES服务端和客户端)9.下载和安装Kibana10.编辑Kibana配置文件11.启动Kiabana12.访问Kia…...

如何实现滑动网格的功能

文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了SliverList组件相关的内容&#xff0c;本章回中将介绍SliverGrid组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1 概念介绍 我们在本章回中介绍的SliverGrid组件是一种网格类组件&#xff0c;主要用来…...

DBASE DBF数据库文件解析

基于Java实现DBase DBF文件的解析和显示 JDK19编译运行&#xff0c;实现了数据库字段和数据解析显示。 首先解析数据库文件头代码 byte bytes[] Files.readAllBytes(Paths.get(file));BinaryBufferArray bis new BinaryBufferArray(bytes);DBF dbf new DBF();dbf.VersionN…...

linux中统计文件中特定单词或字符串的出现次数

在 Linux 中&#xff0c;可以使用 grep 和 wc 命令组合来统计一个文件中特定单词或字符串的个数。假设想统计文件 example.txt 中字符串 “example_string” 出现的次数&#xff0c;可以使用以下命令&#xff1a; grep -o -w example_string example.txt | wc -l这里是每个选项…...

视觉状态空间模型(VMamba)的解读

在计算机视觉领域&#xff0c;设计计算高效的网络架构一直是研究的热点。今天&#xff0c;我想和大家分享一篇发表在 NIPS 2024 上的论文——VMamba&#xff1a;Visual State Space Model&#xff0c;这篇论文提出了一种新的视觉骨干网络&#xff0c;具有线性时间复杂度&#x…...

几种K8s运维管理平台对比说明

目录 深入体验**结论**对比分析表格**1. 功能对比****2. 用户界面****3. 多租户支持****4. DevOps支持** 细对比分析1. **Kuboard**2. **xkube**3. **KubeSphere**4. **Dashboard****对比总结** 深入体验 KuboardxkubeKubeSphereDashboard 结论 如果您需要一个功能全面且适合…...

nodejs:js-mdict 的下载、安装、测试、build

js-mdict 项目的目录结构&#xff1a;js-mdict 项目教程 js-mdict 下载地址: js-mdict-master.zip 先解压到 D:\Source\ js-mdict 6.0.2 用了 ts (TypeScript) 和 Jest&#xff0c;增加了应用开发的难度&#xff0c;因为先要了解 ts 和 Jest。 参阅&#xff1a;测试与开发&a…...

Vue3 表单:全面解析与最佳实践

Vue3 表单&#xff1a;全面解析与最佳实践 引言 随着前端技术的发展&#xff0c;Vue.js 已经成为最受欢迎的前端框架之一。Vue3 作为 Vue.js 的最新版本&#xff0c;带来了许多改进和新的特性。其中&#xff0c;表单处理是 Vue 应用中不可或缺的一部分。本文将全面解析 Vue3 …...

JavaWeb入门-请求响应(Day3)

(一)请求响应概述 请求(HttpServletRequest):获取请求数据 响应(HttpServletResponse):设置响应数据 BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器就可访问,应用程序的逻辑和数据都存储在服务端(维护方便,响应速度一般) CS架构:Client/ser…...

【单层神经网络】基于MXNet库简化实现线性回归

写在前面 同最开始的两篇文章 完整程序及注释 导入使用的库# 基本 from mxnet import autograd, nd, gluon # 模型、网络 from mxnet.gluon import nn from mxnet import init # 学习 from mxnet.gluon import loss as gloss # 数据集 from mxnet.gluon…...

一元函数微积分的几何应用:二维平面光滑曲线的曲率公式

文章目录 前言曲率和曲率半径的定义曲率计算公式参数方程形式直角坐标显式方程形式极坐标形式向量形式 前言 本文将介绍二维平面光滑曲线的曲率定义以及不同形式的曲率及曲率半径公式的推导。 曲率和曲率半径的定义 &#xff08;关于二维平面光滑曲线的定义以及弧长公式请参…...

编程题-最接近的三数之和

题目&#xff1a; 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数&#xff0c;使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 解法一&#xff08;排序双指针&#xff09;&#xff1a; 题目要求找…...

【LLM-agent】(task4)搜索引擎Agent

note 新增工具&#xff1a;搜索引擎Agent 文章目录 note一、搜索引擎AgentReference 一、搜索引擎Agent import os from dotenv import load_dotenv# 加载环境变量 load_dotenv() # 初始化变量 base_url None chat_model None api_key None# 使用with语句打开文件&#xf…...