【蓝桥杯刷题】坑爹的负进制转换

news2025/7/16 10:39:55

【蓝桥杯刷题】——坑爹的负进制转换😎😎😎

目录

💡前言🌞:  

 💛坑爹的负进制转换题目💛 

💪 解题思路的分享💪  

 😊题目源码的分享😊

👉 本菜鸡&总结 👈

😎博客昵称:陈大大陈

😊座右铭:所谓觉悟,就是在漆黑的荒野上开辟出一条理当前进的光明大道。

😋博主简介:一名热爱C/C++和算法等技术,喜欢运动,爱胡思乱想却胸怀大志的小博主!

😚博主&唠嗑:早中晚安!😄各位CSDN的朋友!😄我是博客新人陈大大陈,希望我的文章能为你带来帮助!欢迎大家在评论区畅所欲言!也希望大家多多为我提出您宝贵的建议!😘如果觉得我写的不错的话还请点个赞和关注哦~😘😘😘

💡前言🌞:  

大伙们好!😄又到了小陈蓝桥杯每日一题的时间了~ 😋😋😋今天也带来了十分有趣的题目!🥰🥰🥰用C语言实现——坑爹的负进制转换这个题目对我来说很有挑战性,把我折磨的很难受,不过我还是整出来了,我现在迫不及待地要和大家分享~!😄🤗🤗

 💛坑爹的负进制转换题目💛 

💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡💡

题目描述

以前我们做的进制转换大家都忽略了一点,就是进制一定是正整数;今天这道进制转换就坑爹的选择了,额,负整数来做进制。

输入描述

输入由若干行组成,每行有两个整数n(-32765<=n<=32767)和R(-16<=R<=-2)。输入的最后一行只有一个‘#’号,表示输入结束。

输出描述

对于每个输入行,输出n的R进制形式。出现的字母请用大写字母表示!

样例输入

30000 -2
-20000 -2
28800 -16
-25000 -16
#

样例输出

11011010101110000
1111011000100000
19180
7FB8

💪 解题思路的分享💪  

  • 我们采用递归的写法来写这道题目。
  • 首先我们要知道,在C语言中,商和余数都符合 被除数=商x除数+余数 这一数学规律。C/C++ 是向零取整(负数向上、正数向下取整)的。也就是说,余数可能是负数
  • 我们要打印出对应的负二进制,就不能有负数,所以代码中如果余数为负数,要将其变为正数。
  • 说道递归,那就必须要有出口,我们将a==0作为递归出口,当a不停除以对应进制到零,此时递归停止。
  • 当余数小于零时,我们该如何将其变为正数呢?例如-5/-2=2余-1,这个-1没有办法处理。
  • 我们不能改变结果的值,那就需要一个看起来很简单但是想不到的转换公式:
  • (商+1)*除数+(余数-除数)=商*除数+除数+余数-除数=商*除数+余数=被除数
  • 所以我们要保证商不变的话只要  被除数=被除数+除数,化简一下可以得到商=被除数/除数--->(被除数+除数)/除数=商+1  。
  • 为了实现多组输入,用scanf返回值来判断输入是否正确。

 😊题目源码的分享😊

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void JinZhi(int a, int b)
{
	if (a == 0)
		return;//递归的出口
	int m = a % b;
	if (m < 0)
	{
		m -= b; a += b;
	}
	if (m > 10)
	{
		m = m - 10 + 'A';//转化成字符型,方便16进制输出成字符
	}
	else
	{
		m += '0';
	}
	JinZhi(a / b, b);
	printf("%c", m);//注意顺序,不要写到函数的前面,不然就反了
}
int main()
{
	int n[10], m[10],i=0;
	int a, b;
	while (scanf("%d%d", &a, &b) == 2)//用scanf返回值来判断输入是否正确
	{
		n[i] = a;
		m[i] = b;
		i++;
		
	}
	for (int j = 0; j < i; j++)
	{
		JinZhi(n[j], m[j]);
		printf("\n");
	}
	return 0;
}

👉 本菜鸡&总结 👈

这是我们学校蓝桥杯选拔赛上面的题目,我觉得很有挑战性写了这篇博客,这种题目比较耐人寻味,哪位大佬有更好的做法,请在评论区不吝赐教哦~😀如果觉得我写的不错的话还请点个赞和关注哦~我会持续输出编程的知识的!🌞🌞🌞 

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

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

相关文章

Windows环境下Elasticsearch的下载与安装

一、elasticsearch下载地址1、官网&#xff1a;https://www.elastic.co/cn/即刻体验Elasticsearch2、直接解压3、进入bin目录双击.bat文件直接启动4、报错&#xff1a;error downloading geoip database [GeoLite2-City.mmdb]&#xff0c;elasticsearch.yml中增加&#xff1a;i…

FTP建议使用教程——以Xftp7为例

文件传输协议&#xff08;File Transfer Protocol&#xff0c;FTP&#xff09;是用于在网络上进行文件传输的一套标准协议&#xff0c;它工作在 OSI 模型的第七层&#xff0c; TCP 模型的第四层&#xff0c; 即应用层&#xff0c; 使用 TCP 传输而不是 UDP&#xff0c; 客户在和…

Jmeter+Ant+Jenkins接口自动化测试平台搭建

平台简介一个完整的接口自动化测试平台需要支持接口的自动执行&#xff0c;自动生成测试报告&#xff0c;以及持续集成。Jmeter支持接口的测试&#xff0c;Ant支持自动构建&#xff0c;而Jenkins支持持续集成&#xff0c;所以三者组合在一起可以构成一个功能完善的接口自动化测…

九.虚拟内存VM

1.寻址2.虚拟页VM将虚拟内存分割为称为虚拟页的大小固定的块1247是缓存的、36是未缓存的、05是未分配的下图为缺页及处理后页表将虚拟页映射到物理页页表是一个页表条目(PTE)的数组多个虚拟页面可以映射到同一个物理共享页面内存映射&#xff1a;将一组连续的虚拟页映射到一个文…

蓝牙耳机哪个品牌好一点?佩戴最舒服的蓝牙耳机排行

近年来&#xff0c;蓝牙耳机市场呈爆发式增长&#xff0c;越来越优秀的产品出现在大众视野。那么蓝牙耳机哪个品牌好一点&#xff1f;下面&#xff0c;我来给大家推荐几款佩戴最舒服的蓝牙耳机&#xff0c;一起来看看吧。 一、南卡小音舱蓝牙耳机 参考价&#xff1a;246 蓝牙…

一文带你彻底探究webgis坐标系知识(地理坐标系投影坐标系)

首先讲讲经纬度坐标系的起源与发展。其实目的很简单就是为了用数字化的方式来表示我们的地球和世界。 真正意义上与webgis相关的坐标系我们还得先来说说wgs84坐标系。这是老美1984年提出的一套坐标系。故命名为84坐标系。84坐标系是目前应用范围比较广的坐标系,但他并不是最早…

Elasticsearch:理解 Master,Elections,Quorum 及 脑裂

集群中的每个节点都可以分配多个角色&#xff1a;master、data、ingest、ml&#xff08;机器学习&#xff09;等。 我们在当前讨论中感兴趣的角色之一是 master 角色。 在 Elasticsearch 的配置中&#xff0c;我们可以配置一个节点为 master 节点。master 角色的分配表明该节点…

人机协同“全能秘书”丨 AI+金融“降本增效”全靠它!

近年来&#xff0c;我国金融科技蓬勃发展&#xff0c;以人工智能为主要代表的创新技术&#xff0c;为各大金融企业提供了更智能化的金融服务模式&#xff0c;科技与金融业务的深度融合&#xff0c;为金融行业注入新的发展动力。相比较传统人工客服&#xff0c;智能客服以算法为…

函数模板(template关键字的应用)

注释&#xff1a;本文主要介绍了函数模板的由来以及用法&#xff0c;还有关键字template。 我们感到时间的延续像一条我们无法逆行的小溪。 ——柏格森 文章目录一、语言的定式二、函数模板2.1 函数模板格式2.2 模板函数的实例化2.2.1隐式实例化/显式实例化2.3 模板参数的匹配…

SQL注入——floor报错注入

目录 一&#xff0c;涉及到的函数 rand&#xff08;&#xff09; floor&#xff08;&#xff09; concat_ws() as别名&#xff0c;group by分组 count() 报错原理 一&#xff0c;涉及到的函数 rand()函数&#xff1a;随机返回0~1间的小数 floor()函数&#xff1a;小数向…

C/C++开发,无可避免的多线程(篇六).线程池封装类

一、线程池概念 线程池是一种多线程处理方式&#xff0c;它包含一个线程工作队列和一个任务队列。当有任务需要处理时&#xff0c;线程池会从线程工作队列中取出一个空闲线程来处理任务&#xff0c;如果线程工作队列中没有空闲线程&#xff0c;则任务会被放入任务队列中等待处理…

M1、M2芯片Mac安装虚拟机

目录前言一、安装二、网络设置三、连接SSH客户端前言 一直想着给M1 Mac上安装虚拟机&#xff0c;奈何PD收费&#xff0c;找的破解也不稳定&#xff0c;安装上镜像就起不来。 注&#xff1a;挂长久的分享莫名其妙被封&#xff0c;需要安装包请私信我。 一、安装 虚拟机选择&a…

一次惨痛教训让我写了个Windows定期备份文件脚本

目录前言正文前言 说实话在写这篇文章的时候&#xff0c;咸鱼不禁又想起了那件男默女泪的往事 我喜欢做笔记&#xff0c;我觉得好记性不如烂笔头&#xff0c;所以在我的学习生涯以及职业生涯阶段&#xff0c;我用过四款笔记应用——Onenote、语雀、印象笔记、Typora 其中我个…

Nacos配置中心,分组配置参考,以及python、go、bash客户端连接获取

Nacos使用说明 nacos官方网站 https://nacos.io/zh-cn/docs/v2/what-is-nacos.html 1、基本配置说明 nacosIP地址&#xff1a;http://xxxxx:8848/nacos/ 服务管理端登录账号&#xff1a;nacos XXX Java最小配置&#xff0c;其他客户端可参考&#xff0c;配置可对应到第三章…

【动态规划】

动态规划1引言题目509. 斐波那契数70. 爬楼梯746. 使用最小花费爬楼梯小结53. 最大子数组和结语引言 蓝桥杯快开始了啊&#xff0c;自从报名后还没认真学过算法有(>﹏<)′&#xff0c;临时抱一下佛脚&#xff0c;一起学学算法。 题目 509. 斐波那契数 斐波那契数 &am…

你来看看这几行代码到底创建了几个字符串?

&#x1f497;推荐阅读文章&#x1f497; &#x1f338;JavaSE系列&#x1f338;&#x1f449;1️⃣《JavaSE系列教程》&#x1f33a;MySQL系列&#x1f33a;&#x1f449;2️⃣《MySQL系列教程》&#x1f340;JavaWeb系列&#x1f340;&#x1f449;3️⃣《JavaWeb系列教程》…

Java中对象的finalization机制

本篇文章我们详细介绍Java中对象的finalization机制&#xff0c;以及怎么使用finalize()方法&#xff0c;将即将被回收的对象&#xff0c;拉回来。1、finalization机制Java语言提供了对象终止&#xff08;finalization&#xff09;机制来允许开发人员提供对象被销毁之前的自定义…

Spring的Async注解线程池扩展方案

目录- [Spring的Async注解线程池扩展方案]- [目录]- [1. 扩展目的]- [2. 扩展实现]- [2.1 扩展Async注解的执行拦截器AnnotationAsyncExecutionInterceptor]- [2.2 扩展Async注解的Spring代理顾问AsyncAnnotationAdvisor]- [2.3 扩展Async注解的 Spring Bean 后置处理器AsyncAn…

Linux安装及管理应用和账号和权限管理 讲解

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…

不系统学习NodeJs之进程线程

不系统学习NodeJs之进程线程 从工作期间断断续续接触Node&#xff0c;从去年的3月份、10月份、又到今年的3月份&#xff0c;终于又决定要再仔细看看Node的相关。 不系统学习的各种时期笔记&参考记录于此。 参考&#xff1a; Node.js 中文网 一篇文章构建你的 NodeJS 知识…