假期刷题打卡--Day15

1、MT1152韩信又生气了

韩信点兵(大于10人),三个三个一排少1个人,五个五个一排又少1个人,七个七个一排还少1个人。韩信生气了,从别的队伍里调来一个人!这样不管是三个一排五个一排还是七个一排都完美了。问原本最少应该有多少人。

格式

输入格式:

输出格式:

输出整型

样例 1

输入:

输出:

104
解决思路

实质上,这个题目和前面的几个没有太大的区别,只是前面的都说超出,这个说缺少。而解决的时候也不需要太拧巴,只需要逆向思考,既然说3个一排站缺一个,那么就是有一排多出来2个,即余数为2;同理,5个一排少1个,就是有一排多出来4个,即余数为4;7个一排少1个,就是有一排多出来6个。然后就可以写代码了。

实现代码
#include<bits/stdc++.h> using namespace std;int main( )
{int x = 10;while(x++){if(x%3==2 && x%5==4 && x%7==6){cout << x;break;}}return 0;
}

2、MT1153真因子

输入正整数N,计算其所有真因子之和。自然数的真因子是严格小于该数的除数。

格式

输入格式:

输入正整数N

输出格式:

输出整型

样例 1

输入:

10

复制

输出:

8
备注

N>2

相关知识点

因子:因子是指能够整除某个整数而不产生余数的数。例如:整数A除B,得出结果是没有余数的整数,就称B是A的因子。

真因子:除了整数本身以外的所有因子。

总结来说:

整数的因子包括它本身和其他能够整除它的整数。但是真因子是指除了整数本身以外的所有因子。换句话说,真因子不包括整数本身。例如,整数12的因子包括1、2、3、4、6和12。其中,真因子是1、2、3、4和6,因为它们都能整除12,而12本身不被认为是真因子。

实现代码
#include<bits/stdc++.h> using namespace std;int main( )
{int N,sum = 0;cin >> N;for(int i=1;i<N;i++){if(N%i==0){sum+=i;}}cout << sum;return 0;
}

3、MT1155单位矩阵

输入3X3的整型矩阵A,判断是否为单位矩阵,输出YES或者NO。

格式

输入格式:

输入矩阵,空格分隔

输出格式:

输出YES或者NO

样例 1

输入:

1 0 0 0 1 0 0 0 1

输出:

YES
相关知识点
单位矩阵:(来自百度百科)

        在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的1,这种矩阵被称为单位矩阵。它是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1。除此以外全都为0。

        在C语言中,赋值操作是从右往左执行的。因此,可以使用这种连续赋值的方式将多个变量赋予相同的值。例如:a=b=c=0;

上述代码会先将0赋值给c,然后将c的值赋值给b,最后将b的值赋值给a,从而使得a、b和c均为0。

二维数组:

定义:二维数组是一种特殊类型的数组,它可以存储多行多列的元素。二维数组可以被看作是一个表格或网格,其中每个元素由两个索引值表示,一个用于指定行号,另一个用于指定列号。

初始化:二维数组的初始化可以按行分段赋值,也可按行连续赋值,也可以使用for语句赋值。
例如,对于数组 a[3][3]。

  • 按行分段赋值应该写作:
a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
  • 连续赋值:
a[3][3]={1,2,3,4,5,6,7,8,9};
  • 使用for语句赋值:
int a[3][3];
for(int i = 0;i < 3;i++){for(int j = 0;j < 3;j++){scanf("%d",&a[i][j]);}
}
break和continue的区别:
  • break:立即终止当前所在的循环(for、while、do-while),并跳出循环体,继续执行循环后的代码。也可以用于终止switch语句的执行。当遇到满足某个条件时,可以使用break语句来提前结束循环,无需等到循环条件不满足或循环次数达到上限。

例:

for (int i = 1; i <= 10; i++) {if (i == 5) {break;}printf("%d ", i);
}

当执行上述代码会输出:1 2 3 4。在循环执行到i == 5时,break语句被执行,循环立即终止,不再执行后续的循环体语句。

  • continue:立即跳过当前迭代中循环体内剩余的语句,直接进入下一次迭代。在执行到continue语句时,会停止当前迭代的执行,并进行下一次迭代的判断。

例如同样使用i==5这个条件

for (int i = 1; i <= 10; i++) {if (i == 5) {continue;}printf("%d ", i);
}

那么,执行上述代码会输出:1 2 3 4 6 7 8 9 10,在循环执行到i == 5时,continue语句被执行,跳过i==5这个条件,继续下面的循环。

跳出多重循环的一种方法:goto语句(但是并不建议使用,这里只是作为了解

goto 语句允许把控制无条件转移到同一函数内的被标记的语句。

注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。

C++ 中 goto 语句的语法:

goto label;
..
.
label: statement;
解决思路

 法一:直接按照单位矩阵去判断每个元素是否都满足;

法二:使用矩阵的表示方法,即采用二维数组表示,设一个flag去判断每个变量是否满足单位矩阵的要求。首先将 flag 初始化为1,假设输入的是单位矩阵。然后,在遍历矩阵的过程中,如果发现任何一个不符合单位矩阵定义的元素,就将 flag 置为0,并立即跳出循环。最后根据 flag 的值输出结果。

法三:依旧采用二维数组的方法,但是不设变量,只要判断不符合单位矩阵的条件,直接使用goto语句跳出双重循环。

实现代码

最简单粗暴的办法:

#include<bits/stdc++.h> using namespace std;int main( )
{int a1,a2,a3,a4,a5,a6,a7,a8,a9;scanf("%d %d %d %d %d %d %d %d %d",&a1,&a2,&a3,&a4,&a5,&a6,&a7,&a8,&a9);if(a1 == 1 && a2 == 0 && a3 == 0 && a4 == 0 && a5 == 1 && a6 == 0 && a7 == 0 && a8 == 0 && a9 == 1 ){cout << "YES";}else cout <<  "NO";return 0;
}

使用flag判断: 

#include <bits/stdc++.h>
using namespace std;int main() {int a[3][3], flag = 1;  // 初始化flag为1,假设是单位矩阵for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {scanf("%d", &a[i][j]);}}for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {if (i == j) {if (a[i][j] != 1) {  // 对角线上的元素必须为1flag = 0;break;  // 发现不符合条件的元素,直接跳出循环}} else {if (a[i][j] != 0) {  // 非对角线上的元素必须为0flag = 0;break;  // 发现不符合条件的元素,直接跳出循环}}}if (flag == 0) {break;  // 发现不符合条件的元素,直接跳出外层循环}}if (flag == 1) {cout << "YES";} else {cout << "NO";}return 0;
}

 使用goto语句跳出双重循环方法(了解):

#include<bits/stdc++.h> using namespace std;int main( )
{int a[3][3],flag=0;for(int i=0;i<3;i++){for(int j=0;j<3;j++){scanf("%d",&a[i][j]);}}for(int i=0;i<3;i++){for(int j=0;j<3;j++){if(i==j){if(a[i][j]==1){flag=1;}else{flag=0;goto cc;}     }else{if(a[i][j]==0){flag=1;}else{flag=0;goto cc;} }}}cc:if(flag==1){cout << "YES";}else{cout << "NO";}return 0;
}

4、MT1157矩阵相等

输入4X4的整型矩阵A和B,判断是否为相等,输出YES或者NO。

格式

输入格式:

输入矩阵,空格分隔。

输出格式:

输出YES或者NO

样例 1

输入:

4 0 0 0 5 0 0 0 6 1 2 3 4 5 6 7  
4 0 0 0 5 0 0 0 6 1 2 3 4 5 6 7 

输出:

YES
实现代码
#include <iostream>using namespace std;void cmp(int a[4][4], int b[4][4]) {int flag = 1; // 将flag初始值设为1,表示初始假设两个矩阵相等for (int i = 0; i < 4; i++) {for (int j = 0; j < 4; j++) {if (a[i][j] != b[i][j]) {flag = 0; // 有至少一个元素不相等,将flag设为0break;}}if (flag == 0) {break;}}if (flag == 1) {cout << "YES" << endl;} else {cout << "NO" << endl;}
}int main() {int a[4][4], b[4][4];for (int i = 0; i < 4; i++) {for (int j = 0; j < 4; j++) {cin >> a[i][j];}}for (int i = 0; i < 4; i++) {for (int j = 0; j < 4; j++) {cin >> b[i][j];}}cmp(a, b);return 0;
}

在写判断语句的时候,没必要每次都去判断正确的情况,有时候反过来思考可能更有效,比如在上面的3、4题当中,判断不等(!=)的情况反而更加方便一点,这里再写一遍第4题就是给自己长长记性。

明天继续吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/649060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一练 | 华为认证真题练习Day172

1、关于OSPF的ASBR-SUMMARY-LSA中LSA头部他、信息描述错误的是 A. LINK STATE ID表示ASBR的ROUTER ID B. ADVERTISING ROUTER表示该ABR的ROUTER ID C. ADVERTISING ROUTER字段永远不会改变 D. METRIC表示该ABR到达ASBR的OSPF开销 2、关于OSPF外部路由种类描述错误的是 A. …

神经网络进一步学习

一、代价函数 首先引入一些便于稍后讨论的新标记方法&#xff1a;假设神经网络的训练样本有m个&#xff0c;每个包含一组输入x和一组输出y&#xff0c;L表示神经网络层数&#xff0c;表示该层的神经元个数&#xff0c;将神经网络的分类定义为两种情况&#xff1a;二类分类和多类…

上位机图像处理和嵌入式模块部署(极致成本下的图像处理)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 目前&#xff0c;大家都习惯了特定的图像处理方式&#xff0c;要么是windows上位机来处理&#xff0c;要么是arm soc来进行处理&#xff0c;要么是…

亚信安慧AntDB:赋能业务核心 助力数据管理

在当今数据驱动的信息时代&#xff0c;数据库面临着前所未有的挑战与机遇。随着技术的不断进步和用户需求的多样化&#xff0c;传统的数据库解决方案已经难以满足运营商核心业务的复杂需求。亚信安慧AntDB数据库&#xff0c;作为一款强大数据库产品&#xff0c;旨在帮助运营商应…

[SwiftUI]Text对字符串中部分字符改变颜色和字体

如图&#xff0c;需要对字符串中部分字符改变颜色和字体。 在 SwiftUI 中合并带有不同样式的文本&#xff0c;应该使用不同的 Text 实例并将它们合并起来。将实例使用 运算符合并起来&#xff0c;每个 Text 实例都保持其自己的样式设置。这种方式可以正常编译并运行&#xff0…

蓝桥杯——每日一练(简单题)

题目 有n个整数&#xff0c;使前面各数顺序向后移m个位置&#xff0c;最后m个数变成前面m个数。写一函数&#xff1a;实现以上功能&#xff0c;在主函数中输入n个数和输出调整后的n个数。 解析 一、list&#xff08;&#xff09;函数配合map&#xff08;&#xff09;函数获得…

ps---1.使用置入嵌入的智能化对象命令制作拼贴画

ps—使用置入嵌入的智能化对象命令制作拼贴画 素材 步骤 打开背景图 置入嵌入对象&#xff08;置入完&#xff0c;移动到正确的位置&#xff0c;回车或双击&#xff09; 栅格化图层 重复上述步骤制作拼贴画

第二百八十八回

文章目录 1. 概念介绍2. 使用方法2.1 实现步骤2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取文件类型"相关的内容&#xff0c;本章回中将介绍如何播放视频.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 播放视频是我们常用…

go语言(二十)---- 有缓冲的channel

有缓冲的channel 举个例子 package mainimport ("fmt""time" )func main() {c : make(chan int,3) //带有缓冲的 channelfmt.Println("len(c) ",len(c),",cap(c)",cap(c))go func() {defer fmt.Println("子go程结束")for i…

视频监控方案设计:EasyCVR视频智能监管系统方案技术特点与应用

随着科技的发展&#xff0c;视频监控平台在各个领域的应用越来越广泛。然而&#xff0c;当前的视频监控平台仍存在一些问题&#xff0c;如视频质量不高、监控范围有限、智能化程度不够等。这些问题不仅影响了监控效果&#xff0c;也制约了视频监控平台的发展。 为了解决这些问…

HTML-框架标签、实体、全局属性和元信息

HTML 1.框架标签 <iframe name"b站" src"https://www.bilibili.com" width"500" height"300" frameborder"0"></iframe>iframe 标签的实际应用&#xff1a; 在网页中嵌入广告。与超链接或表单的 target 配合&a…

QSqlQuery 执行Update 判断执行成功与否

1.执行更新操作的SQL语句 update s_info set name"009" where contact_number "13511112222" 怎么样判断是否确实更新操作是执行成功的 &#xff0c;可以通过下列语句判断 query.numRowsAffected() > 0 2.主要的几步操作如下: QSqlQuery query;query.…

力扣hot100 实现Trie(前缀树) 字典树 一题双解

Problem: 208. 实现 Trie (前缀树) 文章目录 思路复杂度&#x1f49d; TrieNode版&#x1f49d; 二维数组版 思路 &#x1f469;‍&#x1f3eb; 宫水三叶 复杂度 &#x1f49d; TrieNode版 public class Trie {class TrieNode{boolean end;//标记是否有以当前节点为结尾的字…

【Origin绘图系列第4棒】桑基图

Origin绘制桑基图 桑基图&#xff08;Sankey diagram&#xff09;&#xff0c;即桑基能量分流图&#xff0c;也叫桑基能量平衡图。它是一种特定类型的流程图&#xff0c;右图中延伸的分支的宽度对应数据流量的大小&#xff0c;通常应用于能源、材料成分、金融等数据的可视化分…

阿里云幻兽帕鲁服务器创建和配置教程

如何自建幻兽帕鲁服务器&#xff1f;基于阿里云服务器搭建幻兽帕鲁palworld服务器教程来了&#xff0c;一看就懂系列。本文是利用OOS中幻兽帕鲁扩展程序来一键部署幻兽帕鲁服务器&#xff0c;阿里云百科aliyunbaike.com分享官方基于阿里云服务器快速创建幻兽帕鲁服务器教程&…

计算机网络-奈氏准则和香农定理(码间串扰 二者区别)

文章目录 失真失真的一种现象-码间串扰奈氏准则&#xff08;奈溃斯特定理&#xff09;例题 香农定理例题 奈氏和香农 失真 就是指与原来的不一样了 两种情况 前三个是正相关&#xff0c;最后一个是负相关 码元传输速率越快&#xff0c;失真程度越严重的原因可能包括以下几点…

stm32中的SPI

SPI的简介 文章目录 SPI的简介物理层协议层基本通讯过程起始和终止信号数据有效性CPOL/CPHA及通讯模式 STM3的SPI特性及架构通讯引脚时钟控制逻辑数据控制逻辑整体控制逻辑通讯过程 代码配置实现指令集结构体的定义SPI时钟信号的定义SPI端口定义SPI命令 flash驱动代码初始化代码…

Sublime的安装及汉化

sublime安装 官网sublime 点击Windows 下载参考&#xff1a;傻瓜式下载 sublime汉化 1&#xff09;安装 Sublime Text 4 成功后&#xff0c;点击菜单 【Tools】 -> 【Install Package Control】&#xff1b; 注意&#xff1a;安装包控件需要等待一会&#xff0c;点击可…

探索Go 语言URL:解析与构建

探索Go 语言URL&#xff1a;解析与构建 在 Go 语言中&#xff0c;解析和处理 URL 是日常开发中常见的任务之一。URL&#xff08;统一资源定位符&#xff09;是指定 Web 资源位置的标准方式&#xff0c;它由多个部分组成&#xff0c;包括协议、主机、路径、查询参数等。本文将深…

python使用回溯算法搜索单词

对于在字母表中搜索单词的问题,这是一个二维空间问题,可以利用深度优先搜索算法和回溯算法来满足探索与退回的执行过程。 给定一个字母表table以及一个单词word,试求在字母表中是否存在此单词,在字母表中可以任意位置为起点,每一步只能水平移动或者垂直移动,也就是只能在…