vector习题
完数和盈数
题目
完数VS盈数_牛客题霸_牛客网
一个数如果恰好等于它的各因子(该数本身除外)之和,如:6=3+2+1。则称其为“完数”;若因子之和大于该数,则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。
输入描述:
题目没有任何输入。
输出描述:
输出2到60之间所有“完数”和“盈数”,并以如下形式输出: E: e1 e2 e3 ......(ei为完数) G: g1 g2 g3 ......(gi为盈数) 其中两个数之间要有空格,行尾不加空格。
代码
思路:
定义一个函数求出某个数的因数之和sum
定义两个数组wan和yin
遍历2到60,把这些数和对应的sum对比,从而符合条件的数加到wan和yin两个数组中。再打印输出。
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include<vector>
using namespace std;
/*
参数:int num
返回值:各参数之和 int
处理:求某个数的因数之和
*/
int FactorNum(int num) {int sum = 0;for (int i = 1; i < num; i++) {if (num % i == 0) {sum += i;}}return sum;
}
int main() {vector<int> wan;vector<int> yin;for (int i = 2; i <= 60; i++) {/*若因子之和等于该数,则称其为“完数”若因子之和大于该数,则称其为“盈数”*/int sum = FactorNum(i);if (sum == i) {wan.push_back(i);} else if (sum > i) {yin.push_back(i);}}printf("E:");//打印所有的完数 E: e1 e2 e3 .......(ei为完数)for (int i = 0; i < wan.size(); i++) {printf(" %d", wan[i]);}printf("\nG:");//打印所有的盈数G: g1 g2 g3 ......(gi为盈数)for (int i = 0; i < yin.size(); i++) {printf(" %d", yin[i]);}printf("\n");return 0;
}
代码分析
代码分析
对于以上的代码,我们要注意以下问题:
题目要求打印的格式是:E: e1 e2 e3 ......(ei为完数) G: g1 g2 g3 ......(gi为盈数) 其中两个数之间要有空格,行尾不加空格。所以我设置的思路是:
printf("E:"); 不加空格
printf(" %d", wan[i]); 遍历的时候空格加在前面
printf("\nG:"); E.G之间要换行;
结果吐槽:
一直自测不过,一提交竟然通过了;

剩下的树
题目:
剩下的树_牛客题霸_牛客网
输入:
500 3 100 200 150 300 470 471输出:
298
分析:
500表示区间马路长度为500,3表示3个要移除树的区间,
然后再输入这3个区间;
最终输出就是剩下的树是多少。
输入:
L表示区间长度 M表示区间个数
再输入M个区间(left,right)
输出:移走所有区间的树之后剩下的树的个数 resultNum
思路:
创建一个数组vector<int> road(L+1);表示这条马路上有L颗树
我们可以将树存在设为0,树不存在设为1;
移走m棵树就等于将road数组中的m个0改为1;
最后看一下剩下有多少个0;
点评:这道题只要你理解了题目的输入,输出的含义;在代码实现上就不难了。故重在看懂题目;
结果:

糖果分享游戏
题目:
3426. 糖果分享游戏 - AcWing题库
一些学生围坐一圈,中间站着他们的老师,所有人都面向老师。 他们要玩一个有关糖果分享的游戏。 每个学生最开始都有一定数量的糖果(保证一定是偶数)。 每轮游戏的进程为: 老师吹起哨声,所有学生同时拿出自己一半数量的糖果,递给右边相邻的同学。 传递完成后,所有拥有奇数数量糖果的同学都将再得到一颗糖果。 游戏将不断进行,直到所有学生拥有的糖果数量均相等为止。 现在,给定所有学生的初始糖果数量,请确定游戏进行的总轮次数以及游戏结束后每个学生的糖果数量。
分析:
1.输入:
第一行:N,表示学生数量
接下来N行:
输出: 以逆时针方向描述每个学生的初始糖果数量
2.输出:
首先输出游戏总轮次,然后输出游戏结束后每个人的糖果数量。
15 14 17 22 4 8
思路:
定义一个数组vector<int> canddys(N); (存储学生的糖果),并根据输入为它赋值。
处理游戏过程:
老师吹起哨声,所有学生同时拿出自己一半数量的糖果,递给右边相邻的同学。 传递完成后,所有拥有奇数数量糖果的同学都将再得到一颗糖果。
在每一轮循环中: 先把每个数的初值的一半存在一个数组OldNum中,把这些值赋给candy数组下一个数;
最后检查一下candy数组中的元素,若为奇数,则+1
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include<vector>
using namespace std;
bool checkCandy(vector<int>& candy);
void swap(vector<int>& candy);
bool checkCandy(vector<int>& candy) {int resultNum = candy[0];for (int i = 1; i < candy.size(); i++) {if (candy[i] != resultNum) {return false;}}return true;
}
//实现交换糖果的数量
void swap(vector<int>& candy) {int size = candy.size();vector<int>oldNum(size);for (int i = 0; i < candy.size(); i++) {oldNum[i] = candy[i] / 2;}//再把oldNum中的值赋给candyNUm中的各位中的下一位for (int i = 0; i < size; i++) {candy[i] -= oldNum[i];candy[(i + 1)%size] += oldNum[i];
}//再检查一遍candy数组,若有奇数值,则加1for (int i = 0; i < size; i++) {if (candy[i] % 2 == 1) {candy[i] ++;}}
}
int main() {int N;while (scanf("%d", &N)!= EOF) {if (N == 0) {break;}
vector<int> candy(N);
//为candy数组赋值for (int i = 0; i <N; i++) {scanf("%d", &candy[i]);}//循环的次数;int count = 0;//循环结束的标志:所有学生的糖果树相等while (checkCandy(candy) == false) {//交换糖果swap(candy);count++;}
//最后输出总轮数和每个人的剩下的糖果的数量printf("%d %d\n", count,candy[0]);}return 0;
}
代码分析:
1.将动态数组作为某个函数的参数时,我们可以使用值传递也可以使用引用
为了节约脑细胞,我们在所有情况下都使用引用。
2.为了实现循环的效果,在把oldNum中的值赋给candyNUm中的各位中的下一位这个逻辑中,我们使用以下的逻辑:
其中注意candy[i]要先减掉oldNum[i];且要用 candy[(i + 1)%size]加上oldNum[i];
for (int i = 0; i < size; i++) {candy[i] -= oldNum[i];candy[(i + 1)%size] += oldNum[i];}
相关文章:
vector习题
完数和盈数 题目 完数VS盈数_牛客题霸_牛客网 一个数如果恰好等于它的各因子(该数本身除外)之和,如:6321。则称其为“完数”;若因子之和大于该数,则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。 输入描述ÿ…...
001-码云操作
码云操作 一、配置公钥1.官网地址1.进入 git bash2.查看生成的公钥3.设置到 Gitee4.测试 二、初始化一个项目1.新建仓库 一、配置公钥 方便后续提交代码不用填写密码 1.官网地址 官网地址:https://gitee.com/Git码云教程:https://gitee.com/help/arti…...
数据结构:二叉搜索树(排序树)
1.二叉搜索树的定义 二叉搜索树要么是空树,要么是满足以下特性的树 (1)左子树不为空,那么左子树左右节点的值都小于根节点的值 (2)右子树不为空,那么右子树左右节点的值都大于根节点的值 &#…...
【愚公系列】《Python网络爬虫从入门到精通》036-DataFrame日期数据处理
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...
C++(蓝桥杯常考点)
前言:这个是针对于蓝桥杯竞赛常考的C内容,容器这些等下棋期再讲 C 在DEVC中注释和取消注释的方法:ctrl/ ASCII值(常用的): A-Z:65-90 a-z:97-122 0-9:48-57 换行/n:10科学计数法:eg:…...
支付宝 IoT 设备入门宝典(下)设备经营篇
上篇介绍了支付宝 IoT 设备管理,但除了这些基础功能外,商户还可以利用设备进行一些运营动作,让设备更好的帮助自己,本篇就会以设备经营为中心,介绍常见的设备相关能力和问题解决方案。如果对上篇感兴趣,可以…...
蓝桥杯 之 填空题-位运算与循环
文章目录 循环握手问题门牌制作-循环小球反弹幸运数艺术与篮球跑步卡片 位运算3个1美丽的2024 位运算 可以关注这个Lowbit(x) 如何判断最低位是否是1? num&1 1就说明num最低位是1 循环 循环 握手问题 握手问题 思路分析: 可以直接计算出来&…...
iOS逆向工程概述与学习路线图
iOS逆向工程概述与学习路线图 欢迎各位加入我的iOS逆向工程专栏!在这个系列的第一篇文章中,我将为大家介绍iOS逆向工程的基本概念、应用场景以及完整的学习路线图,帮助大家建立清晰的学习框架。 什么是iOS逆向工程? 逆向工程&a…...
DeepSeek 助力 Vue3 开发:打造丝滑的时间选择器(Time Picker)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的时间选择器(Time Picker)📚前言📚页面效果📚指令输入…...
基于 Ingress-Nginx 实现 mTLS 双向认证
目录 背景描述: TLS 和 MTLS 之间的差异 通过自签名证书启用双向 TLS 1. 生成证书 (1) 生成 CA(根证书颁发机构) (2) 生成 CA(根证书颁发机构) (3) 生成客户端证书 2. 在 Kubernetes 中配置 mTLS &#x…...
学到什么记什么(25.3.3)
Upload-labs 今日重新做了一下文件上传漏洞,这里第一题之前采用直接抓包改后缀名.jpg为.php,再写入一句话<?php phpinfo();?>然后放行,得到图片地址(可复制),本来直接访问图片地址即可得到敏感信息…...
【子网掩码计算器:Python + Tkinter 实现】
子网掩码计算器:Python Tkinter 实现 引言代码功能概述代码实现思路1. 界面设计2. 功能实现3. 事件处理 子网掩码计算器实现步骤1. 导入必要的库2. 定义主窗口类 SubnetCalculatorApp3. 创建菜单栏4. 创建界面组件5. 判断 IP 地址类别6. 计算子网信息7. 其他功能函…...
《解锁HarmonyOS NEXT高阶玩法:艺术图像识别功能开发全攻略》
在当今数字化时代,AI技术不断拓展其应用边界,为各行业带来前所未有的变革。在艺术领域,AI图像识别技术能够帮助艺术从业者、爱好者快速识别艺术品风格、作者,甚至挖掘艺术品背后的历史文化信息。本文将结合HarmonyOS NEXT API 12及…...
Spring Boot的启动流程
Spring Boot 的启动流程是一个复杂且有序的过程: 创建SpringApplication实例 — 调用run方法 — 启动完成(发布应用启动事件,配置环境,创建ApplicationContext,准备ApplicationContext,刷新ApplicationContext[【创建B…...
【通俗讲解电子电路】——从零开始理解生活中的电路(三)
实际应用案例:生活中的电子电路 ——拆解你身边的“隐形工程师” 1. 手电筒电路:最简单的直流系统 电路组成 电源:2节1.5V电池(串联3V)。 开关:按钮控制回路通断。 LED:发光二极管ÿ…...
TypeScript系列01-类型系统全解析
本文总结了 TypeScript 的类型系统基础,涵盖了: TypeScript 的价值:静态类型检查为 JavaScript 添加了类型安全保障基本类型系统:从原始类型到特殊类型(any、unknown、never)的完整介绍类型注解与推断&…...
ragflow-mysql 启动失败案例分析
一、问题描述 1.拉取RAGflow镜像失败 dependency failed to start: container ragflow-mysql is unhealthy2. 查询日志 docker logs ragflow-mysql显示 出现[rootlocalhost docker]# docker logs ragflow-mysql Fatal glibc error: CPU does not support x86-64-v2 Fatal …...
SslConnection::SslConnection()详解
一、🔍 SslConnection::SslConnection() 详解 这个构造函数的主要作用是: 创建 SSL 对象创建 BIO(I/O 缓冲区)初始化 SSL 服务器模式绑定回调函数(onRead() 处理接收数据) 📌 1. 初始化 SSL 相…...
unity lua属性绑定刷新
我们现在有一个 角色属性类叫heroModel,内容如下,当heroModel中的等级发生变化的时候,我们需要刷新界面显示等级信息,通常我们是在收到等级升级成功的协议的时候,发送一个事件,UI界面接受到这个事件的时候,刷新一下等级…...
Self-Pro: A Self-Prompt and Tuning Framework for Graph Neural Networks
Self-Pro: A Self-Prompt and Tuning Framework for Graph Neural Networks #paper/GFM/GNN-BASED# #paper/⭐⭐⭐# 注意:这篇文章是每个图一个GCN模型,而不是所有图一个GCN 模型 算是最早的涉及异配图的prompt了 贡献和动机: 非对…...
避坑指南:微信支付V3 SDK自动更新证书失败的5种常见原因及修复方法
微信支付V3证书自动更新失败排查手册:从原理到实战修复 微信支付的V3版本SDK以其自动证书更新机制著称,但不少开发者在集成过程中都遭遇过AutoUpdateCertificatesVerifier的失败问题。证书更新失败不仅会导致支付功能中断,还可能引发验签错误…...
告别软件盗版烦恼:用YT88加密狗5分钟搞定C#/Java/Python源代码加密(附完整开发包下载)
5分钟实现多语言源代码加密:YT88加密狗实战指南 独立开发者最头疼的问题之一,就是辛苦编写的代码被轻易反编译或盗用。上周我的一个朋友就遇到了这种情况——他花了三个月开发的Python数据分析工具,刚上线两周就被破解并免费传播。这种经历在…...
别再只会用百度搜了!手把手教你用site语法精准锁定CSDN、知乎等网站的技术文章
技术搜索的艺术:用site语法打造高效信息获取系统 每次打开搜索引擎,输入技术关键词后,铺天盖地的结果中真正有用的内容却寥寥无几——这可能是大多数开发者都经历过的困扰。广告推广、低质量转载、过时教程混杂其中,而真正优质的C…...
Mojo加速Python科学计算:如何在72小时内将AI推理速度提升8.6倍(附完整可运行代码)
第一章:Mojo与Python混合编程概述Mojo 是一种为 AI 系统量身打造的现代系统编程语言,兼具 Python 的易用性与 C/C 的执行效率。它原生兼容 Python 生态,允许开发者在同一个项目中无缝调用 Python 模块、复用现有 NumPy/Torch 代码,…...
京东开放平台应用申请实战:从零到一,避开那些“看不见”的坑
1. 为什么你需要这份京东开放平台避坑指南? 第一次申请京东开放平台应用时,我踩遍了所有能踩的坑。记得当时为了赶项目进度,直接跳过了官方文档的"不重要章节",结果在云鼎环境配置环节卡了整整三天。后来才发现…...
Hunyuan-MT-7B-WEBUI新手必看:5分钟搞定部署,开启多语言翻译之旅
Hunyuan-MT-7B-WEBUI新手必看:5分钟搞定部署,开启多语言翻译之旅 1. 为什么选择Hunyuan-MT-7B-WEBUI 在全球化交流日益频繁的今天,语言障碍成为许多个人和团队面临的实际问题。Hunyuan-MT-7B-WEBUI作为腾讯混元开源系列中的翻译专用模型&am…...
LeetCode 热题 100 之 131. 分割回文串 51. N 皇后
131. 分割回文串 51. N 皇后 131. 分割回文串 class Solution {public List<List<String>> partition(String s) {List<List<String>> res new ArrayList<>();List<String> path new ArrayList<>();backtrack(s, 0, path, res);re…...
Flutter项目卡在‘assembleDebug’?Gradle配置优化全攻略
1. 为什么Flutter项目会卡在assembleDebug阶段? 这个问题困扰过无数Flutter开发者,尤其是刚入门的新手。当你满怀期待地运行flutter run命令,结果控制台卡在Running Gradle task assembleDebug...一动不动,那种感觉就像等一辆永远…...
从产品质量到A/B测试:聊聊高斯分布在真实业务场景中的10个应用与常见误区
高斯分布实战手册:10个业务场景中的智能决策与避坑指南 当你发现某电商平台上的用户购买金额呈现"中间多、两头少"的分布时,当A/B测试结果出现微妙的5%转化率差异时,当工厂质检数据出现异常波动时——这些看似无关的业务问题背后&a…...
STM32F407实战:基于CubeMX与FreeRTOS的SDIO-FatFs文件系统高效读写方案
1. 环境准备与CubeMX基础配置 第一次接触STM32F407的SD卡存储时,我被各种专业术语搞得晕头转向。后来发现,只要用对工具和方法,实现文件系统读写其实没那么复杂。CubeMX这个图形化配置工具真是开发者的福音,它能帮我们自动生成80%…...
