PAT甲级1010 Radix

车载智能终端的设计 本文研究的主要内容是车载智能终端的设计,在学习和借鉴国内外在车载电子领域已有的成熟经验的基础上,利用32位嵌入式处理器S344B0X01和μC/OS-Ⅱ实时操作系统技术,针对汽车行驶记录仪、GPS/GPRS的已有设计的不足提出了新的解决方案,并对方案的可行性进行了分析和论证。 阅读详情

最开始想直接暴力,后来看网上题解说可以二分。

二分思路就是先将n1转化为10进制,二分搜索枚举n2的进制(low为n2的进制,hi为n1的10进制加1),将n2按照枚举的进制转换为10进制然后与n1的十进制进行比较。注意这里的二分是搜索最小的结果,因此第一次相等后仍然要向前面区间搜索看是否有更小的解。

坑点:

1、long long也可能会溢出,需要判断溢出

2、每一步二分的结果需要判断是否为符合条件

代码

:

#include <iostream>
#include <string>
#include <algorithm>


using namespace std;
typedef long long LL;

LL getDecimal(string s,int radix){
    LL ans = 0;
    if(radix == 10){
        for(int j=0;j<s.length();j++)
            ans = ans*10+(s[j]-'0');
    }else{
        LL time = 0;
        LL base = 0;
        LL mul = 1;
        for(int j=s.length()-1;j>=0;j--){
             //基数
             if(s[j]>='0'&&s[j]<='9')
                base = s[j]-'0';
             else if(s[j]>='a'&&s[j]<='z')
                base = s[j]-87;
      
            if(time == 0)
                mul = 1;
            else{
                mul = 1;
                for(int i=0;i<time;i++)
                    mul = mul*radix;
            }
            //cout<<"*"<<base<<" "<<mul<<" "<<time<<endl;
            time++;
            if(base < 0)    //溢出
                return -1;
            ans = ans + base*mul;
            if(ans<0)     //溢出
                return -1;
        }

    }

    return ans;
}

LL getLow(string s1){
    LL mmax = -1;
    for(int i=0; i < s1.length(); i++){
        if(s1[i]>='0'&&s1[i]<='9')
            if(mmax < s1[i]-'0')
                mmax = s1[i]-'0';
        else if(s1[i]>='a'&&s1[i]<='z')
            if(mmax < s1[i]-87)
                mmax = s1[i]-87;
    }
    return mmax;
}
int main()
{
    string n1,n2;
    LL flag,radix;
    cin>>n1>>n2>>flag>>radix;
    if(flag == 2)
        swap(n1,n2);
    LL cmp = getDecimal(n1,radix);
    LL hi = cmp+1;
    LL low = getLow(n2)+1;
    LL mid = 0;
    LL temp = 0;
    LL res = 0;
    bool flag2 = false;
    while(low <= hi){
        mid = low+(hi-low)/2; //防止溢出
        temp = getDecimal(n2,mid);
        //cout<<temp<<" "<<cmp<<endl;
        if(temp == cmp){    //证明有结果并将结果记录。万一前面没有结果则输出res
                //cout<<temp<<" "<<cmp<<" "<<mid<<endl;
            flag2 = true;    
            res = mid;
        }
        if(temp >= cmp || temp == -1) //判断溢出
            hi = mid - 1;
        else if(temp < cmp)
            low = mid + 1;

    }
    if(flag2)
        cout<<res<<endl;
    else
        cout<<"Impossible"<<endl;
    return 0;
}

 

金融科技创新中人工智能的应用:8篇优质论文精选(含2023) 随着科技的飞速发展,金融领域正经历着前所未有的变革。在这个过程中,人工智能技术发挥着越来越重要的作用。为了深入探讨金融人工智能的研究和应用,享享特地整理了几篇金融人工智能方面的论文,大家可以看一下金融人工智能方向最新的研究成果!面向金融领域的大型语言模型本文介绍了BloombergGPT,一个基于广泛金融数据训练的500亿参数模型。基于彭博(Bloomberg)广泛数据来源,建立了一个基于彭博数据的3630亿令牌数据集,并结合了额外3450亿通用数据令牌。 阅读详情

相关推荐

在VSCode中使用LaTex+(grammarly语法检测,chatgpt翻译,Sumatra PDF 轻量级pdf阅读器)

整个文章分为以下几个内容,打 * 的是必须要安装的。

u011895157的博客 2万+

PAT 1010 Radix(大进制转换+二分查找+剪枝)

原题地址https://www.patest.cn/contests/pat-a-practise/1010 给定一个数字a及其进制,判断另一个数b是不是a在其他进制下的表示。(a,b较大,以字符串形式给出) 解题思路本题考察进制转换,但是和之前做过的一次性转换题都不太一样,即要求搜索出满足b.value = a.value时b的进制数。 判断两进制数是否相等的基本思路:两个数都用10进制表

Lecholin的博客 523

手把手教你用U盘给海信IP501H刷机:GK6323V100C芯片的4.4.2和9.0固件实战

本文详细介绍了海信IP501H电视盒子基于GK6323V100C芯片的刷机实战指南,涵盖Android 4.4.2强刷和Android 9.0免拆刷机两种方案。从工具准备、短接操作到ADB调试,提供全流程解析和常见问题解决方案,帮助用户安全高效地完成刷机操作。

lemon的博客 1456

PAT甲级 - 1010 Radix(思维+二分)

Link 题意:大概意思就是,tag==1,则N1为radix进制的数;tag==2,则N2为radix进制的数。试问另一个数为多少进制的数才能使得N1==N2,无解输出"Impossible"。 思路:基本思路很简单,直接枚举另外一个数的进制即可,期间在进行进制的转换时需要注意许多细节。但如果直接枚举的话将有个测试点(1分)无法通过,不难看出其实进制的取值我们就可以通过二分来查询,其二分的下限即是另一个数的最大位数值maxx+1,上限即位radix进制数的十进制数值+1。(如果误将Impossible

Satur9的博客 484

将Keil中的变量数组导出

首先,写好导出数据的函数。

小柚子的博客 1952

使用MATLAB结合EasySpin进行ESR模拟的详细步骤及示例代码

安装EasySpin:确保你已经安装了EasySpin工具箱,它可以帮助你进行ESR模拟。你可以从EasySpin的官方网站(https://easyspin.org/)下载并安装。准备实验数据:将实验得到的EPR数据整理成合适的格式,一般包含磁场(Magnetic Field)和信号强度(Intensity)两列。进行模拟:使用EasySpin的函数对单线态氧自由基和超氧自由基进行模拟。调整参数:通过调整模拟参数,使模拟得到的峰型和峰位置与实验数据尽可能匹配。导出数据。

AI的内部世界的博客 2005

PAT甲级-1010 Radix

PAT甲级 1010 Radix C++

weixin_74092648的博客 644

ESP8266-Arduino网络编程实例-异步TCP客户端

本次实例将使用ESPAsyncTCP库实现一个简单的客户端。

视觉与物联智能 1741

上机训练实战指南-PAT Advance1010

题目链接 #include <iostream> #include <cctype> #include <algorithm> #include <cmath> using namespace std; long long convert(string n, long long radix) { long long sum = 0; int index = 0, temp = 0; for (auto it = n.rbegin(); it != n.r

Sheep_Shaun的博客 259

【深度学习|语义分割之UNet】如何使用ResNet50 作为 U-Net 网络的骨干网络(backbone)并使用预训练的 ResNet50 模型。附代码及解读。

【深度学习|语义分割之UNet】如何使用ResNet50 作为 U-Net 网络的骨干网络(backbone)并使用预训练的 ResNet50 模型。附代码及解读。

985小水博的摸鱼日常 3090

Python入门实战:Python生物信息学编程基础

本文旨在为生物学背景的研究人员和对生物信息学感兴趣的程序员提供一个全面的Python生物信息学编程入门指南。我们将从Python基础知识开始,逐步深入到生物信息学特定的工具和技术,最终达到能够独立开发生物信息学分析程序的水平。Python编程基础生物信息学常用数据结构和算法DNA和蛋白质序列分析基因组数据处理生物信息学数据可视化Biopython库的使用实际项目案例背景介绍:概述文章目的、范围和预期读者核心概念与联系:介绍Python和生物信息学的基本概念。

AI架构师小马 1514

PAT1010 Radix

Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The answer is yes, if 6 is a decimal number and 110 is a binary number. your task is to find the radix of ...

机器学习,数据挖掘算法爱好者 235

12、硬件工程师笔试面试——MOS管(2025版本)

在设计和测试过程中,可以参考相关的EMC测试标准和指南,如CE认证EMC电磁兼容测试介绍 和电磁兼容性(EMC)测试方法与整改指南 ,以及电磁兼容(EMC)的标准与测试内容 ,来确保MOSFET的EMC性能符合行业标准。在高频应用中,MOSFET的开关速度对电路的整体性能至关重要。是一款高电压同步N沟道MOSFET驱动器,具有自举电源电压至114V的能力,宽VCC电压范围,自适应贯通保护功能,以及高达1.4A的峰值顶端栅极上拉电流,适用于分布式电源架构、汽车电源、高密度电源模块和电信系统等应用。

XU157303764的博客 7092

PAT甲级 1010 Radix

PAT甲级 1010 Radix Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The answer is yes, if 6 is a decimal number and 110 is a binary number. Now for any pair ...

旺崽的博客 2852

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

PAT 甲级题目讲解:1010《Radix》

本文深度讲解了 PAT 甲级真题 **1010《Radix》** 的完整解题思路与 C++ 实现。题目核心在于**进制转换函数的设计**与**二分查找优化**。文中详细推导了未知进制的合法范围确定方法、单调性二分策略,以及如何利用 `LLONG_MAX` 防止整数溢出,并总结了常见易错点与复杂度分析,适合准备 PAT/算法竞赛的同学参考学习。

qq_35624947的博客 2185

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

PAT甲级-1010radix⭐⭐⭐⭐⭐

PAT甲级-1010radix⭐⭐⭐⭐⭐ 1、原题参照PAT官网 给出一对positive整数例如6和110,可以让这个等式6=110为真吗?结果是yes,如果6是一个浮点小数并且110是一个binary数。 现在对于任意一对positive整数N1和N2,你的任务是去找到一个数字的redix 每一个输入文件含有一个测试用例,一行里有四个整数:N1 N2 tag radix 2、生词 Radix...

qq_41819953的博客 284

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

1010 Radix (25分) PAT甲级 Java 实现

1010 Radix (25分) PAT甲级 Java 实现 文章目录1010 Radix (25分) PAT甲级 Java 实现1 题目2 解题思路2.1 题目大意2.2 题目细节2.3 解题思路3 代码 1 题目 题目链接 https://pintia.cn/problem-sets/994805342720868352/problems/994805507225665536 Given a pair of positive integers, for example, 6 and 110, can

qq_38650754的博客 278

菜鸟记录:c语言实现PAT甲级1010--Radix

很长时间没做,忙于考研和实习,久违的的拾起了算法。做了很长时间,其实总体思路还是很简单的,但满分不知道为什么就是到不了,又因为网上很多答案包括柳神的都是c++,无法参透,姑且只能这样了。yes。

qq_64790058的博客 1333

【PAT甲级】1010 Radix (25 分)

1010 Radix 题目描述 Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The answer is yes, if 6 is a decimal number and 110 is a binary number. Now for any pair o...

初见还是重逢的博客 1137

PAT甲级1010 Radix (25分)

PAT甲级1010 Radix (25分) 题目: 题目分析:运用二分法来处理 AC代码附上: #include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; ll map[256];//0~9,a~z,和0~35对应 ll ...

weixin_43795683的博客 343

PAT甲级 - 1010 Radix (25 分)

题目链接:PAT甲级 - 1010 Radix (25 分) Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The answer is yes, if 6 is a decimal number and 110 is a binary number. N...

174

PAT 甲级 1010 Radix (25 分)(Java)

文章目录PAT 甲级 1010 Radix (25 分)(Java)题目题意解读解题思路解法解法一 PAT 甲级 1010 Radix (25 分)(Java) 题目 题目链接 题意解读 这题的大体意思就是给两个数N1和N2,数位长度不超过10,并指出其中一个数是几进制数,然后问将另一个数转换为多少进制,可以使得N1==N2; 解题思路 首先要明确的一个点是: 虽然题目表明了其中给出进制的数一定会是35进制以内的数,假设为N1,因为使用0-9,a-z只能表示到最高35进制,但这并不意味着另一个数也是如此,另

盼你到天明的博客 333

[PAT甲级真题]1010 Radix

二分 算法 PAT 进制转换

JeredYe的博客 553

PAT 甲级 1010 Radix

【PAT甲级】 1010 Radix

m0_61974219的博客 244
上一篇: JAVA IO(7)管道流
下一篇: HTTP协议
donCoder
博客等级 码龄9年 65粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值