蓝桥杯练习日常|递归-进制转换

蓝桥云课760数的计算 

一、递归

题目:

我的解题代码: 

#include <iostream>
using namespace std;
int sum=0;
int main()
{
  // 请在此输入您的代码
  int n;
  cin>>n;
  int fun(int n);
  fun(n); 
  cout<<sum<<'\n';
  return 0;
}
//
void fun(int n){
  if(n==0){
   return ;
  }else
  for(int i=0;i<=n/2;i++){
    fun(i);
  }
  sum++;
}

注意:其中使用了dfs搜索 

二、进制转换

1、任意进制转十进制:

  • k进制(k>10)整数转化成十进制。把K进制的每一位数放进数组中。

  • 代码模板:res表示结果,k表示k进制转化为十进制,a【i】里边放的是任意进制的每一位数。
  • int res=0;//存放结果
    for(int i=1;i<=n;i++){
    res=res*k+a[i];
    }
    cout<<res<<'\n';
  • 原理:
  • 例题:  题目链接:蓝桥账户中心
  • 题目:
  • 解题代码:
    #include <iostream>
    using namespace std;
    int main()
    {
      // 请在此输入您的代码
      int a[]={2,0,2,1,10,11,12,13,14};
      //这个是十六进制的数
      //转化成十进制,使用模板
      int res=0,k=16;
      for(int i=0;i<8;i++){
        res=res*k+a[i];
      }
      cout<<res;
      return 0;
    }

2、十进制转换为其他进制:

  • 代码模板:
  • 十进制数x,
  • int x,i=0;//x是十进制数
    while(x){
    a[++i]=x%k,x=x/k;
    reverse(a+1,a+1+i);//翻转,使得高位在1的位置
    }
  • 原理:
  • 同样是这个公式,k表示要转化为k进制,x是公式的和。

任意进制转化成任意进制

题目:进制转换*

 

思路:

第一步,将字符串的每个字符转化成数字。 

第二步,先转化成十进制,再从十进制转化成其他进制!!!!

代码:

#include <bits/stdc++.h>
using namespace std;
char ch[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int a[1000];
void fun(){
  int N,M;cin>>N>>M;
  string s;cin>>s;
  //第一步将其转化成数字
  for(int i=0;i<s.size();i++){
    if(s[i]>='0'&&s[i]<='9')a[i]=s[i]-'0';
    else if(s[i]>='A'&&s[i]<='Z')a[i]=s[i]-'A'+10;
  }
  //任意进制转化成十进制
  int x=0; //x存放转化成十进制的值
  for(int i=0;i<s.size();i++){
    x=x*N+a[i];
  }
  //十进制转化成任意进制
  
  string st;int index=0;
  while(x)st=st+ch[x%M],x=x/M;
  reverse(st.begin(),st.end());
  cout<<st<<'\n';
}


int main()
{
int T;cin>>T;
while(T--){
	fun();
}
}

一、十进制转二进制

#include <iostream>
#include <vector>
using namespace std;

vector<int> decimalToBinary(int num) {
    vector<int> binary;
    while (num > 0) {
        binary.push_back(num % 2);
        num = num / 2;
    }
    return binary;
}

二、十进制转十六进制

#include <iostream>
#include <string>
using namespace std;

string decimalToHexadecimal(int num) {
    string hexadecimal = "";
    char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
    while (num > 0) {
        int remainder = num % 16;
        hexadecimal = hexDigits[remainder] + hexadecimal;
        num = num / 16;
    }
    return hexadecimal;
}

三、二进制转十进制

#include <iostream>
#include <vector>
using namespace std;

int binaryToDecimal(vector<int> binary) {
    int decimal = 0;
    int power = 0;
    for (int i = binary.size() - 1; i >= 0; i--) {
        decimal += binary[i] * (1 << power);
        power++;
    }
    return decimal;
}

四、十六进制转十进制

#include <iostream>
#include <string>
using namespace std;

int hexadecimalToDecimal(string hexadecimal) {
    int decimal = 0;
    int power = 0;
    for (int i = hexadecimal.size() - 1; i >= 0; i--) {
        if (isdigit(hexadecimal[i])) {
            decimal += (hexadecimal[i] - '0') * (1 << (4 * power));
        } else {
            decimal += (hexadecimal[i] - 'A' + 10) * (1 << (4 * power));
        }
        power++;
    }
    return decimal;
}

可以根据实际需求调用这些函数来进行进制转换操作。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分享|instructionfine-tuning 指令微调是提高LLM性能和泛化能力的通用方法

《生成式AI导论》课程中&#xff0c;李宏毅老师提到一篇关于“ instruction fine-tuning” 指令微调的论文&#xff1a; 《Scaling Instruction-Finetuned Language Models》 摘要分享&#xff1a; 事实证明&#xff0c; 在一组以指令形式表达的数据集上微调语言模型可以提…

RK3588平台开发系列讲解(ARM篇)ARM64底层中断处理

文章目录 一、异常级别二、异常分类2.1、同步异常2.2、异步异常三、中断向量表沉淀、分享、成长,让自己和他人都能有所收获!😄 一、异常级别 ARM64处理器确实定义了4个异常级别(Exception Levels, EL),分别是EL0到EL3。这些级别用于管理处理器的特权级别和权限,级别越高…

我的2024年年度总结

序言 在前不久&#xff08;应该是上周&#xff09;的博客之星入围赛中铩羽而归了。虽然心中颇为不甘&#xff0c;觉得这一年兢兢业业&#xff0c;每天都在发文章&#xff0c;不应该是这样的结果&#xff08;连前300名都进不了&#xff09;。但人不能总抱怨&#xff0c;总要向前…

On to OpenGL and 3D computer graphics

2. On to OpenGL and 3D computer graphics 声明&#xff1a;该代码来自&#xff1a;Computer Graphics Through OpenGL From Theory to Experiments&#xff0c;仅用作学习参考 2.1 First Program Square.cpp完整代码 /// // square.cpp // // OpenGL program to draw a squ…

Shell编程(for循环+并发问题+while循环+流程控制语句+函数传参+函数变量+函数返回值+反向破解MD5)

本篇文章继续给大家介绍Shell编程&#xff0c;包括for循环、并发问题&#xff0c;while循环&#xff0c;流程控制语句&#xff0c;函数传参、函数变量、函数返回值&#xff0c;反向破解MD5等内容。 1.for循环 for 变量 in [取值列表] 取值列表可以是数字 字符串 变量 序列…

若依路由配置教程

1. 路由配置文件 2. 配置内容介绍 { path: "/tool/gen-edit", component: Layout, //在路由下&#xff0c;引用组件的名称&#xff0c;在页面中包括这个组件的内容(页面框架内容) hidden: true, //此页面的内容&#xff0c;在左边的菜单中不用显示。 …

C++学习——认识和与C的区别

目录 前言 一、什么是C 二、C关键字 三、与C语言不同的地方 3.1头文件 四、命名空间 4.1命名空间的概念写法 4.2命名空间的访问 4.3命名空间的嵌套 4.4命名空间在实际中的几种写法 五、输入输出 5.1cout 5.2endl 5.3cin 总结 前言 开启新的篇章&#xff0c;这里…

从0到1:C++ 开启游戏开发奇幻之旅(一)

目录 为什么选择 C 进行游戏开发 性能卓越 内存管理精细 跨平台兼容性强 搭建 C 游戏开发环境 集成开发环境&#xff08;IDE&#xff09; Visual Studio CLion 图形库 SDL&#xff08;Simple DirectMedia Layer&#xff09; SFML&#xff08;Simple and Fast Multim…

linux设置mysql远程连接

首先保证服务器开放了mysql的端口 然后输入 mysql -u root -p 输入密码后即可进入mysql 然后再 use mysql; select user,host from user; update user set host"%" where user"root"; flush privileges; 再执行 select user,host from user; 即可看到变…

react-bn-面试

1.主要内容 工作台待办 实现思路&#xff1a; 1&#xff0c;待办list由后端返回&#xff0c;固定需要的字段有id(查详细)、type(本条待办的类型)&#xff0c;还可能需要时间&#xff0c;状态等 2&#xff0c;一个集中处理待办中转路由页&#xff0c;所有待办都跳转到这个页面…

使用Cline+deepseek实现VsCode自动化编程

不知道大家有没有听说过cursor这个工具&#xff0c;类似于AIVsCode的结合体&#xff0c;只要绑定chatgpt、claude等大模型API&#xff0c;就可以实现对话式自助编程&#xff0c;简单闲聊几句便可开发一个软件应用。 但cursor受限于外网&#xff0c;国内用户玩不了&#xff0c;…

当高兴、尊重和优雅三位一体是什么情况吗?

英语单词 disgrace 表示“失脸&#xff0c;耻辱&#xff0c;不光彩&#xff0c;名誉扫地”一类的含义&#xff0c;可做名词或动词使用&#xff0c;含义基本一致&#xff0c;只是词性不同。 disgrace n.丢脸&#xff1b;耻辱&#xff1b;不光彩&#xff1b;令人感到羞耻的人(或…

白平衡与色温:摄影中的色彩密码

目录 一、色温&#xff1a;光线的色彩温度 &#xff08;一&#xff09;色温的定义与原理 &#xff08;二&#xff09;常见光源的色温 &#xff08;三&#xff09;相机色温与环境色温 二、白平衡&#xff1a;还原真实色彩的关键 &#xff08;一&#xff09;白平衡的定义与…

STM32调试手段:重定向printf串口

引言 C语言中经常使用printf来输出调试信息&#xff0c;打印到屏幕。由于在单片机中没有屏幕&#xff0c;但是我们可以重定向printf&#xff0c;把数据打印到串口&#xff0c;从而在电脑端接收调试信息。这是除了debug外&#xff0c;另外一个非常有效的调试手段。 一、什么是pr…

ASP.NET代码审计 SQL注入篇(简单记录)

sql注入&#xff0c;全局搜索 Request QueryString ToString() select select * aspx是设计页面&#xff0c;而aspx.cs是类页面&#xff0c;也就是说设计页面用到的类信息在这个页面里面&#xff0c;其实就是把设计和实现分离开来。 源码 using System; using System.Collect…

Android Studio安装配置

一、注意事项 想做安卓app和开发板通信&#xff0c;踩了大坑&#xff0c;Android 开发不是下载了就能直接开发的&#xff0c;对于新手需要注意的如下&#xff1a; 1、Android Studio版本&#xff0c;根据自己的Android Studio版本对应决定了你所兼容的AGP&#xff08;Android…

嵌入式知识点总结 Linux驱动 (一)-指令-常用Linux指令 GCC指令 GDB调试指令 驱动开发指令

针对于嵌入式软件杂乱的知识点总结起来&#xff0c;提供给读者学习复习对下述内容的强化。 目录 1.怎么查看当前进程&#xff1f;怎么执行退出&#xff1f;怎么查看当前路径&#xff1f; 2.ls命令执行有什么功能&#xff1f;可以带哪些参数&#xff1f; 3.创建目录用什么命令…

初阶2 类与对象

本章重点 上篇1.面向过程和面向对象初步认识2.类的引入---结构体3.类的定义3.1 语法3.2 组成3.3 定义类的两种方法&#xff1a; 4.类的访问限定符及封装4.1 访问限定符4.2封装---面向对象的三大特性之一 5.类的作用域6.类的实例化7.类对象模型7.1 如何计算类对象的大小 8.this指…

21.0.2-为什么选FreeRTOS 第21章-FreeRTOS项目实战--基础知识之新建任务、启动流程、编码风格、系统配置

这个是全网最详细的STM32项目教学视频。 第一篇在这里: 视频在这里 STM32智能小车V3-STM32入门教程-openmv与STM32循迹小车-stm32f103c8t6-电赛 嵌入式学习 PID控制算法 编码器电机 跟随 **V3:HAL库开发、手把手教学下面功能&#xff1a;PID速度控制、PID循迹、PID跟随、遥控、…

2025美国大学生数学建模竞赛美赛E题成品参考论文(48页)(含模型,可运行代码,求解结果)

2025美国大学生数学建模竞赛E题成品参考论文 目录 一、问题重述 二、问题分析 三、模型假设 四、模型建立与求解 4.1问题1 4.1.1问题1思路分析 4.1.2问题1模型建立 4.1.3问题1代码&#xff08;仅供参考&#xff09; 4.1.4问题1求解结果&#xff08;仅供参考&…