• 洛谷 P1143 进制转换


    题目描述

    请你编一程序实现两种不同进制之间的数据转换。

    输入输出格式

    输入格式:

     

    输入数据共有三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16),第二行是一个n进制数,若n>10则用大写字母A~F表示数码10~15,并且该n进制数对应的十进制的值不超过1000000000,第三行也是一个正整数,表示转换之后的数的进制m(2≤m≤16)。

     

    输出格式:

     

    输出仅一行,包含一个正整数,表示转换之后的m进制数。

     

    输入输出样例

    输入样例#1: 复制
    16
    FF
    2
    
    输出样例#1: 复制
    11111111
    思路:模拟
    #include<cmath>
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,m,bns[10000];
    long long ans;
    char num[10000];
    int main(){
        scanf("%d",&n);
        scanf("%s",num+1);
        scanf("%d",&m);
        int len=strlen(num+1);
        for(int i=1;i<=len;i++){
            if(num[i]>='A'&&num[i]<='F')    ans+=(num[i]-'A'+10)*pow(n,len-i);
            else if(num[i]>='0'&&num[i]<='9')    ans+=(num[i]-'0')*pow(n,len-i);
        }
        len=0;
        while(ans){
            bns[++len]=ans%m;
            ans/=m;
        }
        for(int i=len;i>=1;i--)
            if(bns[i]>=10)    cout<<char(bns[i]+55);
            else cout<<bns[i];
    }
    /*
    16
    1234321FAB32
    12
    */
     
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    aws AWS CloudHSM
    aws Web server log analysis
    Monitor and Respond with AWS Config
    Amazon Cognito
    Amazon GuardDuty
    使用Reflactor反编译.Net程序的经验
    Windows Server 2008 25条常见问题
    解决C#读取EXCEL中数字无法读取的方法
    关于HOOK基础知识(windows API ,C++)
    Windows下Hook API 技术(HOOK SEND)
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7875261.html
Copyright © 2020-2023  润新知