【2024蓝桥杯/C++/B组/进制】

news2024/11/14 12:10:33

题目

代码

#include <bits/stdc++.h>
using namespace std;

// 定义一个字符串 str,其内容为 "8100178706957568"
string str = "8100178706957568";

// 函数 check 用于检查传入的字符串是否全部由数字组成
bool check(const string& str) {
    // 遍历字符串中的每一个字符
    for (char c : str) {
        // 如果当前字符不是数字,则返回 false
        if (c < '0' || c > '9') return false;
    }
    // 如果遍历完成都没有发现非数字字符,则返回 true
    return true;
}

// 函数 trans 用于将十进制的字符串表示转换为任意进制(不超过36进制)
string trans(int digit, const string& str) {
    // 初始化一个长整型变量用于存放十进制数值
    long long num = 0;
    // 遍历字符串中的每一个字符
    for (char c : str) {
        // 将每一位字符转换为对应的数值,并累加到 num 变量中
        num = num * 10 + (c - '0');
    }

    // 初始化一个空字符串,用于存放转换后的结果
    string result = "";
    // 当 num 大于0时循环执行以下操作
    while (num > 0) {
        // 计算 num 对 digit 的余数
        int remainder = num % digit;
        // 由于我们只关注数字,这里直接使用 remainder 并将其添加到结果字符串的前端
        result = char('0' + remainder) + result;
        // 将 num 除以 digit,继续下一轮计算
        num /= digit;
    }

    // 返回转换后的结果字符串
    return result;
}

// 主函数
int main() {
    // 从11进制开始逐个尝试到36进制
    for (int digit = 11; digit <= 36; digit++) {
        // 调用 trans 函数,尝试将 str 转换为 digit 进制
        string result = trans(digit, str);
        // 使用 check 函数检查转换后的字符串是否只包含数字
        if (check(result)) {
            // 如果是,则输出该进制值
            cout << digit << " ";
        }
    }
    
    // 程序正常结束并返回0
    return 0;
}
#include<bits/stdc++.h>
using namespace std;

// 定义一个字符串str,其内容为"8100178706957568"
string str = "8100178706957568";

// 这个函数用于检查传入的字符串是否全部由0到9的数字组成
bool check(string str)
{
    // 遍历字符串中的每一个字符
    for(int i = 0; str[i] != '\0'; i++)
    {
        // 如果当前字符减去字符'0'小于0或者大于9,则说明该字符不是0-9之间的数字
        if(str[i] - '0' < 0 || str[i] - '0' > 9) return false;
    }

    // 如果所有字符都是0-9之间的数字,则返回true
    return true;
}
// 这个函数用于将一个十进制数转换为任意指定进制的数(进制范围从11到36)
string trans(int digit, string str)
{
    long long num = 0;
    // 遍历字符串中的每一个字符
    for(int i = 0; str[i] != '\0'; i++)
    {
        // 将字符串中的字符逐位转换为数字,并累加起来形成原数值
        num *= 10;
        num += str[i] - '0';
    }

    // 初始化一个空字符串用于存储转换后的结果
    string result = "";
    // 循环进行转换,直到原数值为0
    while(num)
    {
        // 取出当前数值对目标进制取模的结果,并转化为相应的字符
        int tmp = num % digit;

        // 将新的字符添加到结果字符串的最前面
        result = (char)('0' + tmp) + result;
        // 更新原数值
        num /= digit;
    }

    // 返回转换后的字符串
    return result;
}
// 主函数
int main()
{
    // 遍历11到36的所有进制
    for(int digit = 11; digit <= 36; digit++)
    {
        // 调用trans函数将字符串str表示的十进制数转换为目标进制数
        string result = trans(digit, str);
        // 检查转换后的字符串是否全由0-9的数字组成
        if(check(result)) 
            // 如果是则输出这个进制
            cout << digit;
    }

    // 返回0表示程序正常结束
    return 0;
}

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

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

相关文章

Java(二十七)---二叉搜索树以及Map和Set

文章目录 前言1.二叉搜索树1.1.概念1.2.操作--- 插入1.3.操作---搜索1.4.操作---删除1.6.性能分析1.7 和 java 类集的关系 2.搜索2.1.概念和场景2.2.模型 3.Map的使用3.1.关于Map的说明3.2.Map.Entry<K,V>的说明3.3.Map中常用的方法3.4.TreeMap的使用案例 4.Set的使用4.1…

探索 Milvus 存储系统:如何评估和优化 Milvus 存储性能

欢迎来到探索 Milvus 系列。Milvus 是一款支持水平扩展和具备出色性能的开源向量数据库。Milvus 的核心是其强大的存储系统&#xff0c;是数据持久化和存储的关键基础。该系统包括几个关键组成部分&#xff1a;元数据存储&#xff08;meta storage&#xff09;、消息存储&#…

Vs2022+QT+Opencv 一些需要注意的地方

要在vs2022创建QT项目&#xff0c;先要安装一个插件Qt Visual Studio Tools&#xff0c;根据个人经验选择LEGACY Qt Visual Studio Tools好一些&#xff0c;看以下内容之前建议先在vs2022中配置好opencv&#xff0c;配置方式建议以属性表的形式保存在硬盘上。 设置QT路径 打开v…

数学建模--差值算法

目录 插值方法的种类 应用实例 编程实现 算法实现 拉格朗日插值算法 ​编辑 多项式差值算法 样条插值 牛顿插值算法 插值算法在数据预测中的最新应用和案例研究是什么&#xff1f; 如何比较不同插值方法&#xff08;如线性插值、多项式插值&#xff09;在实际工程问…

bjtu数据库课程设计--基于Spring Boot框架的门店点餐系统

一、安装与配置 1 安装与配置 下载IntelliJ IDEA&#xff0c;需要下载安装jdk1.8.0_152&#xff0c;安装tomcat-9.0.88&#xff0c;安装MySQL8.0数据库。安装成功后打开IntelliJ IDEA&#xff0c;使用 Spring Boot 2.6.13框架&#xff0c;服务器URL窗口使用start.aliyun.com&a…

AI副业玩法:开启你的智能赚钱之路

在这个数码时代&#xff0c;人工智能&#xff08;AI&#xff09;已经不仅仅是科技巨头的专利&#xff0c;它逐渐渗透到我们生活的方方面面。如今&#xff0c;越来越多的人开始利用AI技术进行副业尝试&#xff0c;既拓宽了收入来源&#xff0c;也提升了自我技能。那么&#xff0…

【前端 07】JavaScript中的数组对象

JavaScript中的数组对象 在JavaScript中&#xff0c;数组&#xff08;Array&#xff09;对象是一种非常基础且强大的数据结构&#xff0c;用于在单个变量中存储多个值。这些值可以是任何数据类型&#xff0c;包括数字、字符串、甚至是其他数组&#xff08;多维数组&#xff09…

实验2-4-2 求N分之一序列前N项和**注意小细节

//实验2-4-2 求N分之一序列前N项和//计算序列 1 1/2 1/3 ... 的前N项之和。#include<stdio.h> #include<math.h> int main(){int N;double sum0.0;scanf("%d",&N);for(int a1;a<N;a)sum(1.0/a);//这里必须是1.0 不可以是1&#xff01;&#x…

【管理咨询宝藏150】MBB咨询顾问的结构化PPT训练课程

【管理咨询宝藏150】MBB咨询顾问的结构化PPT训练课程 【格式】PDF版本 【关键词】MBB、麦肯锡、罗兰贝格、咨询顾问 【核心观点】 - 在项目的开始阶段你着手发展有效的金字塔式的演示文稿—我们的重点在最后两个步骤&#xff1b;我们用金字塔结构&#xff1a;通过把核心的信息…

使用nginx解决本地环境访问线上接口跨域问题

前言 前端项目开发过程中&#xff0c;经常会遇到各种各样的跨域问题。 虽然大部分时候&#xff0c;由脚手架自带的proxy功能即可解决问题&#xff0c;如webpack&#xff0c;vite等&#xff1b;但是若没有通过脚手架搭建项目&#xff0c;或者必须使用某些特殊规则转发时&#…

<数据集>手机识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;16172张 标注数量(xml文件个数)&#xff1a;16172 标注数量(txt文件个数)&#xff1a;16172 标注类别数&#xff1a;1 标注类别名称&#xff1a;[Phone] 使用标注工具&#xff1a;labelImg 标注规则&#xff1a;…

【QT】qt 文件操作

qt 文件 qt 文件1. Qt 文件概述2. 输入输出设备类3. 文件读写类4. 文件和目录信息类 qt 文件 1. Qt 文件概述 文件操作是应用程序必不可少的部分。Qt 作为⼀个通用开发库&#xff0c;提供了跨平台的文件操作能力。 Qt 提供了很多关于文件的类&#xff0c;通过这些类能够对文件…

上海有机所化学数据库:一站式科研资源

上海有机化学研究所是中国科学院上海分院的直属机构&#xff0c;主要从事有机化学、材料化学、生命科学等领域的基础研究和应用研究&#xff0c;化学专业数据库是该所承担建设的综合科技信息数据库的重要组成部分&#xff0c;服务于化学化工研究和开发的综合性信息系统&#xf…

Javaweb项目|springboot医院管理系统

收藏点赞不迷路 关注作者有好处 文末获取源码 一、系统展示 二、万字文档展示 基于springboot医院管理系统 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringSpringMVCMyBatisVue 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 编号&#xff1a;…

【海贼王航海日志:前端技术探索】HTML你学会了吗?(一)

目录 1 -> HTML概念 2 -> HTML结构 2.1 -> 认识HTML标签 2.2 -> HTML文件基本结构 2.3 -> 标签层次结构 3 -> 快速生成代码框架 4 -> HTML常见标签 4.1 -> 注释标签 4.2 -> 标题标签 4.3 -> 段落标签 4.4 -> 换行标签 4.5 ->…

多线程-进阶2

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 关注博主带你了解更多数据结构知识 1.CAS 1.1CAS全称:Compare and swap 比较内存和cpu寄存器中的内容,如果发现相同,就进行交换(交换的是内存和另一个寄存器的内容) 一个内存的…

《学会 SpringBoot · 参数校验》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

连锁美业门店收银系统Java源码-如何设置门店仓库自提时间?博弈美业实操

1. 门店仓库自提时间&#xff0c;是当客户在小程序上购买实物商品时&#xff0c;预约上门提货的时间 2. 门店仓库自提时间&#xff0c;需要由各门店&#xff08;店主、店长、店员&#xff09;在PAD上进行设置 ▶ 操作路径&#xff1a; • 第一步&#xff1a; 进入【我的】页…

怎么进行图片压缩?对图片文件的大小进行压缩的四个方法介绍

怎么进行图片压缩&#xff1f;图片压缩是一种常见的技术&#xff0c;用于减小图像文件的大小&#xff0c;同时尽可能地保持图像的视觉质量和细节。这一过程不仅适用于个人用户想要节省存储空间或提高网页加载速度&#xff0c;也对于专业摄影师、网站设计师和应用程序开发者来说…

【OceanBase诊断调优】—— clog盘满问题排查

背景 日志盘&#xff0c;即clog盘&#xff0c;是oceanbase中用于记录事务日志信息。在日常运行中其存储量会随着事务处理情况不断变化。在一些特殊场景下会出现clog盘占用量超过阈值的情况。4.x架构下的clog盘&#xff0c;日志盘进行了租户级拆分&#xff0c;意味着无法再以3.…