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

蓝桥云课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 ;}elsefor(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;
}

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

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

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

相关文章

WordPress使用(1)

1. 概述 WordPress是一个开源博客框架&#xff0c;配合不同主题&#xff0c;可以有多种展现方式&#xff0c;博客、企业官网、CMS系统等&#xff0c;都可以很好的实现。 官网&#xff1a;博客工具、发布平台和内容管理系统 – WordPress.org China 简体中文&#xff0c;这里可…

镭速大文件传输自动选择压缩算法原理

目前&#xff0c;在文件传输系统里&#xff0c;大家通常会在数据传输之前先把数据压缩一下&#xff0c;这样传输起来更方便。不过&#xff0c;现在的情况是&#xff0c;不同平台都用同一种压缩算法&#xff0c;但其实不同的压缩算法在不同平台上表现差别挺大的。如果不在意平台…

JAVA实战开源项目:在线文档管理系统(Vue+SpringBoot) 附源码

本文项目编号 T 038 &#xff0c;文末自助获取源码 \color{red}{T038&#xff0c;文末自助获取源码} T038&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

【玩转全栈】----Django基本配置和介绍

目录 Django基本介绍&#xff1a; Django基本配置&#xff1a; 安装Django 创建项目 创建app 注册app Django配置路由URL Django创建视图 启动项目 Django基本介绍&#xff1a; Django是一个开源的、基于Python的高级Web框架&#xff0c;旨在以快速、简洁的方式构建高质量的Web…

机器学习周报-文献阅读

文章目录 摘要Abstract 1 相关知识1.1 WDN建模1.2 掩码操作&#xff08;Masking Operation&#xff09; 2 论文内容2.1 WDN信息的数据处理2.2 使用所收集的数据构造模型2.2.1 Gated graph neural network2.2.2 Masking operation2.2.3 Training loss2.2.4 Evaluation metrics 2…

Visual Studio Code修改terminal字体

个人博客地址&#xff1a;Visual Studio Code修改terminal字体 | 一张假钞的真实世界 默认打开中断后字体显示如下&#xff1a; 打开设置&#xff0c;搜索配置项terminal.integrated.fontFamily&#xff0c;修改配置为monospace。修改后效果如下&#xff1a;

新鲜速递:DeepSeek-R1开源大模型本地部署实战—Ollama + MaxKB 搭建RAG检索增强生成应用

在AI技术快速发展的今天&#xff0c;开源大模型的本地化部署正在成为开发者们的热门实践方向。最火的莫过于吊打OpenAI过亿成本的纯国产DeepSeek开源大模型&#xff0c;就在刚刚&#xff0c;凭一己之力让英伟达大跌18%&#xff0c;纳斯达克大跌3.7%&#xff0c;足足是给中国AI产…

SpringCloud基础二(完结)

HTTP客户端Feign 在SpringCloud基础一中&#xff0c;我们利用RestTemplate结合服务注册与发现来发起远程调用的代码如下&#xff1a; String url "http://userservice/user/" order.getUserId(); User user restTemplate.getForObject(url, User.class);以上代码就…

[Java]泛型(一)泛型类

1. 什么是泛型类&#xff1f; 泛型类是指类中使用了占位符类型&#xff08;类型参数&#xff09;的类。通过使用泛型类&#xff0c;你可以编写可以处理多种数据类型的代码&#xff0c;而无需为每种类型编写单独的类。泛型类使得代码更具通用性和可重用性&#xff0c;同时可以保…

react native在windows环境搭建并使用脚手架新建工程

截止到2024-1-11&#xff0c;使用的主要软件的版本如下&#xff1a; 软件实体版本react-native0.77.0react18.3.1react-native-community/cli15.0.1Android Studio2022.3.1 Patch3Android SDKAndroid SDK Platform 34 35Android SDKAndroid SDK Tools 34 35Android SDKIntel x…

GESP2023年12月认证C++六级( 第三部分编程题(1)闯关游戏)

参考程序代码&#xff1a; #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <string> #include <map> #include <iostream> #include <cmath> using namespace std;const int N 10…

UE学习日志#15 C++笔记#1 基础复习

1.C20的import 看看梦开始的地方&#xff1a; import <iostream>;int main() {std::cout << "Hello World!\n"; } 经过不仔细观察发现梦开始的好像不太一样&#xff0c;这个import是C20的模块特性 如果是在VS里编写的话&#xff0c;要用这个功能需要新…

深入解析 C++17 中的 std::not_fn

文章目录 1. std::not_fn 的定义与目的2. 基本用法2.1 基本示例2.2 使用 Lambda 表达式2.3 与其他函数适配器的比较3. 在标准库中的应用3.1 结合标准库算法使用3.1.1 std::find_if 中的应用3.1.2 std::remove_if 中的应用3.1.3 其他标准库算法中的应用4. 高级技巧与最佳实践4.1…

AI大模型开发原理篇-2:语言模型雏形之词袋模型

基本概念 词袋模型&#xff08;Bag of Words&#xff0c;简称 BOW&#xff09;是自然语言处理和信息检索等领域中一种简单而常用的文本表示方法&#xff0c;它将文本看作是一组单词的集合&#xff0c;并忽略文本中的语法、词序等信息&#xff0c;仅关注每个词的出现频率。 文本…

创建前端项目的方法

目录 一、创建前端项目的方法 1.前提&#xff1a;安装Vue CLI 2.方式一&#xff1a;vue create项目名称 3.方式二&#xff1a;vue ui 二、Vue项目结构 三、修改Vue项目端口号的方法 一、创建前端项目的方法 1.前提&#xff1a;安装Vue CLI npm i vue/cli -g 2.方式一&…

INCOSE需求编写指南-附录 D: 交叉引用矩阵

附录 Appendix D: 交叉引用矩阵 Cross Reference Matrices Rules to Characteristics Cross Reference Matrix NRM Concepts and Activities to Characteristics Cross Reference Matrix Part 1 NRM Concepts and Activities to Characteristics Cross Reference Matrix Part…

案例研究丨浪潮云洲通过DataEase推进多维度数据可视化建设

浪潮云洲工业互联网有限公司&#xff08;以下简称为“浪潮云洲”&#xff09;成立于2018年&#xff0c;定位于工业数字基础设施建设商、具有国际影响力的工业互联网平台运营商、生产性互联网头部服务商。截至目前&#xff0c;浪潮云洲工业互联网平台连续五年入选跨行业跨领域工…

基于Python的人工智能患者风险评估预测模型构建与应用研究(下)

3.3 模型选择与训练 3.3.1 常见预测模型介绍 在构建患者风险评估模型时,选择合适的预测模型至关重要。不同的模型具有各自的优缺点和适用场景,需要根据医疗数据的特点、风险评估的目标以及计算资源等因素进行综合考虑。以下详细介绍几种常见的预测模型。 逻辑回归(Logisti…

灰色预测模型

特点&#xff1a; 利用少量、不完全的信息 预测的是指数型的数值 预测的是比较近的数据 灰色生成数列原理&#xff1a; 累加生成&#xff1a; 累减生成&#xff1a;通过累减生成还原成原始数列。 加权相邻生成&#xff1a;&#xff08;会更接近每月中旬&#xff0c;更推荐…

golang通过AutoMigrate方法自动创建table详解

一.AutoMigrate介绍 1.介绍 在 Go 语言中&#xff0c;GORM支持Migration特性&#xff0c;支持根据Go Struct结构自动生成对应的表结构,使用 GORM ORM 库的 AutoMigrate 方法可以自动创建数据库表&#xff0c;确保数据库结构与定义的模型结构一致。AutoMigrate 方法非常方便&am…