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

「牛客网C」初学者入门训练BC139,BC158

🐶博主主页:@ᰔᩚ. 一怀明月ꦿ 

❤️‍🔥专栏系列:线性代数,C初学者入门训练

🔥座右铭:“不要等到什么都没有了,才下定决心去做”

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀 ​​​​​​​

题目:BC139​​​​​​​矩阵交换

难度:中等

输入描述:

第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10)从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。接下来一行输入k,表示要执行k次操作(1≤k≤5)。接下来有k行,每行包括一个字符t和两个数a和b,中间用空格格分隔,t代表需要执行的操作,当t为字符'r'时代表进行行变换,当t为字符'c'时代表进行列变换,a和b为需要互换的行或列(1≤a≤b≤n≤10,1≤a≤b≤m≤10)。

提示:当t为别的字符时不需要处理

事例1:

输入:

2 2
1 2
3 4
1
r 1 2

输出:

3 4 
1 2 

事例2:

输入:

2 2
1 3
6 8
2
c 1 2
t 1 2

输出:

3 1 
8 6 

说明:当t为别的字符时不需要处理,所以只交换了原矩阵的第1列和第2列。

解题思路:我们可以通过两个数进行交换值举一反三,交换两个数的值需要用临时变量保存其中一个值,矩阵行列交换时也是一样,创建一个数组长度和和列数相等(长度和行数相等)去保存所要交换行的数据(列的数据),这样就可以实现矩阵的行列交换了

解题详细过程: 

#include<stdio.h>
int main(){int n=0,m=0;printf("请输入矩阵\n");scanf("%d %d",&n,&m);int k=0;int arr[n][m];printf("请输入矩阵\n");for(int i=0;i<n;i++){for(int j=0;j<m;j++){scanf("%d",&arr[i][j]);}}printf("请输入操作几次\n");scanf("%d",&k);int a=0,b=0;while(k--){char temp=0;getchar();//因为scanf输入数据时,会在缓冲区留下回车的数据,所以得用getchar()清除printf("请输入操作符\n");scanf("%c",&temp);getchar();//因为scanf输入数据时,会在缓冲区留下回车的数据,所以得用getchar()清除printf("请输入操作行列数\n");scanf("%d %d",&a,&b);int brr[m];//由于C99是支持变长数组的,创建数组用于保存a行的数据if(temp=='r'){for(int i=0;i<m;i++){brr[i]=*(arr[a-1]+i);}for(int i=0;i<m;i++){*(arr[a-1]+i)=*(arr[b-1]+i);}for(int i=0;i<m;i++){*(arr[b-1]+i)=brr[i];}}int crr[n];//由于C99是支持变长数组的,创建数组用于保存a列的数据if(temp=='c'){for(int i=0;i<n;i++){crr[i]=arr[i][a-1];}for(int i=0;i<n;i++){arr[i][a-1]=arr[i][b-1];}for(int i=0;i<n;i++){arr[i][b-1]=crr[i];}}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){printf("%d ",arr[i][j]);}printf("\n");}return 0;
}

题目:BC158回文数

难度:中等

描述:

若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。

例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。

又如:对于10进制数87:

STEP1:87+78  = 165                       STEP2:165+561 = 726

STEP3:726+627 = 1353                STEP4:1353+3531 = 4884

在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。

写一个程序,给定一个N(2<=N<=10或N=16)进制数M(100位之内),求最少经过几步可以得到回文数。如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible!” 

进制N>10时,使用大写'A'字母表示10,'B'表示11,...,'F'表示15 

输入描述:

两行,分别为N,M

输出描述:

STEP=ans

事例1:

输入:

9
87

输出:

STEP=6

解题思路:首先得把输入的不是十进制的数转换为十进制的数,然后实现一个函数去求它的回文数

解题详细过程: 

#include<stdio.h>
#include<math.h>
#include<string.h>
int judge(long p){long q=0;long num=p;long mul=p;int count=0;while(num){num=num/10;count++;}while(p){q+=(p%10)*pow(10,count-1);count--;p/=10;}if(mul==q){return 1;}return 0;
}
void HuiWen(long p){long q=0;int flag=0;for(int i=0;i<30;i++){long num=p;int count=0;while(num){num=num/10;count++;}while(p){q+=(p%10)*pow(10,count-1);count--;p/=10;}p=q+p;printf("p=%ld\n",p);int ret=judge(p);if(ret==1){printf("STEP=%d\n",i);flag=1;break;}}if(flag==0){printf("Impossible!\n");}
}
int main(){printf("请输入进制数\n");int N=0,M=0,i=0;scanf("%d",&N);long P=0;if(N<=10&&N>1){//小于10进制的数printf("请输入操作数\n");scanf("%d",&M);while(M){P+=(M%10)*pow(N,i);i++;M/=10;}HuiWen(P);}else if(N>10&&N<=16){//大于10的进制数printf("请输入操作数\n");char arr[100]={0};getchar();gets(arr);int ret=(int)strlen(arr);printf("操作数长度为");printf("ret=%d \n",ret);for(int k=0;k<ret;k++){if(70<arr[k]||arr[k]<65){P+=(arr[k]-48)*pow(N,ret-k-1);}else{P+=(arr[k]-55)*pow(N,ret-k-1);}}printf("p的值为%ld\n",P);HuiWen(P);}else{printf("只能计算2~16进制的数\n");}return 0;
}

 🌸🌸🌸如果大家还有不懂或者建议都可以发在评论区,我们共同探讨,共同学习,共同进步。谢谢大家! 🌸🌸🌸

相关文章:

「牛客网C」初学者入门训练BC139,BC158

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练 &#x1f525;座右铭&#xff1a;“不要等到什么都没有了&#xff0c;才下定决心去做” &#x1f680;&#x1f680;&#x1f680;大家觉不错…...

【深度学习】线性回归、逻辑回归、二分类,多分类等基础知识总结

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言1. 线性回归2、逻辑回归3. 单层神经元的缺陷&多层感知机softmax 多分类最后再来一个 二分类的例子前言 入行深度学习快2年了,是时间好好总结下基础知识了.现…...

【MySQL】调控 字符集

一、 MySQL 启动选项 & 系统变量 启动选项 是在程序启动时我们程序员传递的一些参数&#xff0c;而 系统变量 是影响服务器程序运行行为的变量 1.1 启动项 MySQL 客户端设置项包括&#xff1a; 允许连入的客户端数量 、 客户端与服务器的通信方式 、 表的默认存储引擎 、…...

FME+YOLOV7写DNF自动刷图脚本

目录 前言 一、难点分析 二、实现流程 1.DNF窗口位置获取 2.获取训练数据 3.数据标注 4.数据格式转换 5.数据训练 5.刷图逻辑编写 前言 这是一篇不务正业的研究&#xff0c;首先说明&#xff0c;这不是外挂&#xff01;这不是外挂&#xff01;这不是外挂&#xff01;这只是用a…...

Java语法面试题

多线程锁 Synchronized&#xff1a;一次只能被一个线程占有ReadWriteLock&#xff1a;被多个线程持有&#xff0c;写锁只能被一个线程占有ReentrantLock&#xff1a;一个线程的多个流程能获取同一把锁&#xff0c;就是可重入锁&#xff0c;即在一个线程中可以被重复的获取自旋锁…...

location

目录 匹配的目标 格式 匹配符号&#xff1a; 优先级 要表达不匹配条件&#xff0c;则用 if 实现 例子&#xff1a;根目录的匹配最弱 例子&#xff1a;区分大小写 和 不区分大小写 例子&#xff1a;以根开头 和 不区分大小写 例子&#xff1a;等号 匹配的目标 ng…...

简述RBAC模型

RBAC&#xff08;Role-Based Access Control&#xff09;模型是一种常用的访问控制模型&#xff0c;用于管理和控制用户对系统资源的访问权限。RBAC模型通过将用户分配给角色&#xff0c;并授予角色相应的权限&#xff0c;来实现安全的资源访问管理。 在RBAC模型中&#xff0c;…...

倒计时2天:中国工程院院士谭建荣等嘉宾确认出席,“警务+”时代来临...

近日伴随公安部、科技部联合印发通知&#xff0c;部署推进科技兴警三年行动计划&#xff08;2023-2025年&#xff09;&#xff0c;现代科技手段与警务工作相结合的方式&#xff0c;正式被定义为未来警务发展的新趋势。 21世纪以来&#xff0c;随着科技的不断发展和创新&#xf…...

Python蓝桥杯训练:基本数据结构 [哈希表]

Python蓝桥杯训练&#xff1a;基本数据结构 [哈希表] 文章目录Python蓝桥杯训练&#xff1a;基本数据结构 [哈希表]一、哈希表理论基础知识1、开放寻址法2、链式法二、有关哈希表的一些常见操作三、力扣上面一些有关哈希表的题目练习1、[有效的字母异位词](https://leetcode.cn…...

MacOS 配置 Fvm环境

系统环境&#xff1a;MacOS 13&#xff0c;M1芯片 1. 安装HomeBrew&#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed 2. 使用brew安装Fvm&#xff1a; brew tap leoafarias/fvm brew install fvm 3…...

Python小白入门- 01( 第一章,第1节) 介绍 Python 编程语言

1. 介绍 Python 编程语言 1.1 Python 是什么 Python 是一种高级的、解释型、面向对象的编程语言,具有简洁、易读、易写的语法特点。Python 由 Guido van Rossum 于 1989 年在荷兰创造,并于 1991 年正式发布。 Python 语言广泛应用于数据科学、Web 开发、人工智能、自动化测…...

高并发系统设计之缓存

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 这篇文章来讲讲缓存。缓存是优化网站性能的第一手段&#xff0c;目的是让访问速度更快。 说起缓存&#xff0c;第一反应可能想到的就是Redis。目前比较好的方案是使用多级缓存&#xff0c;如CPU→Ll/L2/L3→…...

【N32WB03x SDK使用指南】

【N32WB03x SDK使用指南】1. 简介1.1 产品简介1.2 主要资源1.3 典型应用2. SDK/开发固件文件目录结构2.1 doc2.2 firmware2.3 middleware2.4 utilities2.5 projects Projects3. 项目配置与烧录3.1 编译环境安装3.2 固件支持包安装3.3 编译环境配置3.4 编译与下载3.5 BLE工程目录…...

pytest测试框架——pytest.ini用法

这里写目录标题一、pytest用法总结二、pytest.ini是什么三、改变运行规则pytest.inicheck_demo.py执行测试用例四、添加默认参数五、指定执行目录六、日志配置七、pytest插件分类八、pytest常用插件九、改变测试用例的执行顺序十、pytest并行与分布式执行十一、pytest内置插件h…...

KAFKA安装与配置(带Zookeeper)2023版

KAFKA安装与配置(带Zookeeper) 一、环境准备: Ubuntu 64位 22.04,三台 二、安装JDK1.8 下载JDK1.8,我这边用的版本是jdk1.8.0_2022、解压jdk tar -zxvf jdk1.8.0_202.tar.gz 3、在/usr/local创建java文件夹,并将解压的jdk移动到/usr/local/java sudo mv jdk1.8.0_202…...

深入浅出解析ChatGPT引领的科技浪潮【AI行研商业价值分析】

Rocky Ding写在前面 【AI行研&商业价值分析】栏目专注于分享AI行业中最新热点/风口的思考与判断。也欢迎大家提出宝贵的意见或优化ideas&#xff0c;一起交流学习&#x1f4aa; 大家好&#xff0c;我是Rocky。 2022年底&#xff0c;ChatGPT横空出世&#xff0c;火爆全网&a…...

.net 批量导出文件,以ZIP压缩方式导出

1. 首先Nuget ICSharpCode.SharpZipLib <script type"text/javascript">$(function () {$("#OutPutLink").click(function () { // 单击下文件时$.ajax({ // 先判断条件时间内没有文件url: "/Home/ExistsFile?statTime" $(&q…...

数据分析:某电商优惠卷数据分析

数据分析&#xff1a;某电商优惠卷数据分析 作者&#xff1a;AOAIYI 专栏&#xff1a;python数据分析 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;AOAIYI首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可…...

性能测试流程

性能测试实战一.资源指标分析1.判断CPU是否瓶颈的方法2.判断内存是否瓶颈的方法3.判断磁盘I/O是否瓶颈的方法4.判断网络带宽是否是瓶颈的方法二.系统指标分析三.性能调优四.性能测试案例1.项目背景2.实施规划&#xff08;1&#xff09;需求分析&#xff08;2&#xff09;测试方…...

zookeeper集群的搭建,菜鸟升级大神必看

一、下载安装zookeeperhttp://archive.apache.org/dist/zookeeper/下载最新版本2.8.1http://archive.apache.org/dist/zookeeper/zookeeper-3.8.1/二、上传安装包到服务器上并且解压&#xff0c;重命名tar -zxvf apache-zookeeper-3.8.1-bin.tar.gzmv apache-zookeeper-3.8.1-b…...

3步快速恢复ROG游戏本色彩配置文件的终极指南

3步快速恢复ROG游戏本色彩配置文件的终极指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址: https://gitcode.…...

每天20分钟值不值?淘宝任务自动化的取舍之道

每天20分钟值不值&#xff1f;淘宝任务自动化的取舍之道 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本&#xff0c;包含蚂蚁森林收取能量&#xff0c;芭芭农场全任务&#xff0c;解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi 在数字生活时代…...

Python工业网关通信异常?97%的调试失败源于这4个隐蔽配置陷阱(附实时诊断脚本)

第一章&#xff1a;Python工业网关通信异常的典型现象与诊断范式工业现场中&#xff0c;基于Python构建的边缘网关常因协议适配、资源约束或环境干扰出现通信异常。典型现象包括&#xff1a;Modbus TCP连接频繁超时、MQTT订阅后无消息到达、OPC UA会话意外中断、串口数据乱码或…...

AndEngine纹理打包优化:使用TexturePackerExtension提升游戏性能

AndEngine纹理打包优化&#xff1a;使用TexturePackerExtension提升游戏性能 【免费下载链接】AndEngine Free Android 2D OpenGL Game Engine 项目地址: https://gitcode.com/gh_mirrors/an/AndEngine 在Android游戏开发中&#xff0c;纹理管理是影响游戏性能的关键因素…...

HDLC(高级数据链路控制):从帧结构解析到C语言模拟实现

1. HDLC协议基础&#xff1a;从比特流到可靠传输 第一次接触HDLC协议时&#xff0c;我盯着那串01111110的标志位发了半天呆——这不就是个简单的比特序列吗&#xff1f;怎么就能成为整个协议的基础&#xff1f;后来在调试卫星通信模块时才发现&#xff0c;正是这个看似简单的设…...

Qwen-Image效果实测:对比传统模型,看看它的中文理解强在哪

Qwen-Image效果实测&#xff1a;对比传统模型&#xff0c;看看它的中文理解强在哪 你有没有试过用AI画图&#xff0c;结果被它“气”到哭笑不得&#xff1f;比如&#xff0c;你想画一个“穿着旗袍的女士在江南水乡的乌篷船上喝茶”&#xff0c;结果AI给你生成一个“穿着船在喝…...

SpringBoot项目如何动态加载用户上传的Jar包?两种热部署方案对比

SpringBoot动态加载用户Jar包实战&#xff1a;两种热部署方案深度解析 在当今快速迭代的软件开发环境中&#xff0c;插件化架构正成为提升系统扩展性的关键策略。作为Java生态中最流行的框架之一&#xff0c;SpringBoot项目常面临需要动态加载用户自定义Jar包的需求场景。本文将…...

DeOldify图像上色服务性能调优:针对STM32嵌入式设备输出的图像优化

DeOldify图像上色服务性能调优&#xff1a;针对STM32嵌入式设备输出的图像优化 你有没有想过&#xff0c;把家里那些泛黄的老照片&#xff0c;用AI技术一键上色后&#xff0c;直接显示在复古的电子相框里&#xff1f;这个想法听起来很酷&#xff0c;但实际操作起来&#xff0c…...

RePKG:解锁Wallpaper Engine资源宝库的终极提取与转换工具

RePKG&#xff1a;解锁Wallpaper Engine资源宝库的终极提取与转换工具 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG 是一款专为Wallpaper Engine设计的开源C#工具&#xff…...

H3C防火墙双机热备(RBM)部署后,别忘了这3个关键监控与排错点(含track接口/VRRP状态查看)

H3C防火墙双机热备&#xff08;RBM&#xff09;部署后的3个关键运维盲区与实战排错指南 当你在数据中心完成H3C防火墙双机热备部署时&#xff0c;真正的挑战才刚刚开始。很多工程师以为配置完remote-backup-group和VRRP就万事大吉&#xff0c;直到深夜被报警电话惊醒才发现——…...