B3619 10 进制转 x 进制

这篇文章讲述了如何编写一个程序,将给定的x进制数转换成10进制,特别处理了大于十进制数码的情况,使用了`swapw`函数实现转换,并给出了C++代码示例。
摘要由CSDN通过智能技术生成

题目描述

给一个小整数 x 和一个 x 进制的数 S。将 S 转为 10 进制数。对于超过十进制的数码,用 AB,…… 表示。

输入格式

第一行一个整数 x;

第二行一个字符串 S。

输出格式

输出仅包含一个整数,表示答案。

输入输出样例

输入 #1复制

16
7B

输出 #1复制

123

说明/提示

【数据规模和约定】

保证目标数在十进制下不超过 109109,1≤x≤36。

 思路

见代码注释--->

AC代码

#include<bits/stdc++.h>//万能头文件
using namespace std;使用标准命名空间
int n,q;
char ch[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};//在大于十进制时的单位字符
void swapw(int n,int a)//十对n进制转换
{
    int x[27],i,j,k=0;
    if(n<0)cout<<'-';//当为负数的时候
    j=abs(n);//绝对值函数
    while(j!=0)
    {
//概括:模,除,模,除,……
        k++;
        i=j%a;
        j/=a;
        x[k]=i;
    }
    for(int t=k;t>=1;t--)//逆序输出
            {
                if(x[t]<10)
                   cout<<x[t];
           else cout<<ch[x[t]-10];
            }
        return;
}
int main()
{
    cin>>q>>n;
    swapw(q,n);
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值