zoukankan      html  css  js  c++  java
  • 进制转换

    问题 L: 数制转换

    时间限制: 5 Sec  内存限制: 125 MB
    提交: 8  解决: 5
    [提交] [状态] [讨论版] [命题人:外部导入]

    题目描述

    假设有一个字符串str的结构为:str='m<n>p'。这表示我们需要将str中的n进制数m,以p进制的形式输出。 

    其中m, n, p 皆为整数,n, p两数均不小于2、不大于10(2 <= n, p <= 10),而m为数字串,长度不超过10位(0 <= m < n^10)。 

    例如: 

        输入2<10>2 

        输出结果为2<10>=10<2> 

    输入

    输入一个字符串,形式如m<n>p。 

    输出

    输出数制转换后的结果(格式见样例)。 

    样例输入 Copy

    2<10>2
    

    样例输出 Copy

    2<10>=10<2>




     1 #include <iostream>
     2 #include <stdlib.h>
     3 #include <cstdio>
     4 #include <sstream>
     5 #include <string>
     6 #include <cstring>
     7 #include <algorithm>
     8 using namespace std;
     9 void tenzhuan(long int n, int t, string &s1){
    10     s1 = "";
    11     bool flag = true;
    12     while(n){
    13         int temp = n % t;
    14         char c = temp + '0';
    15         s1 += c;
    16         n /= t;
    17     }
    18     reverse(s1.begin(), s1.end());
    19 }
    20 int main(){
    21     long long m, n, p;//因为m最高位为10为所以必须是longlong 
    22     scanf("%ld<%ld>%ld", &m, &n, &p);//m是需要被转化的数,n是m的初始进制,p是转化后的进制
    23     char str[100];//用来存放转化结果
    24     char str1[100];
    25     char *str2;//用来存储垃圾字符 
    26     stringstream ss;
    27     ss << m;
    28     ss >> str1;
    29     long long ten = strtol(str1, &str2, n);
    30     string s1;
    31     tenzhuan(ten, p, s1);
    32     cout << m << "<" << n << ">=" << s1 << "<" << p << ">";
    33     return 0;
    34 }
  • 相关阅读:
    cmd ora12560协议适配器错误
    WinPEter制作U盘启动盘
    KERNEL_SECURITY_CHECK_FAILURE
    Linux系统下关闭与启动Oracle11g的顺序与命令
    oracle口令文件在windows和linux系统下的命名和位置
    战士倒下了
    手游中第三方的登陆和支付总结
    诡异的循环
    关于空类的继承的问题
    C++的缺陷指针
  • 原文地址:https://www.cnblogs.com/AGoodDay/p/10564172.html
Copyright © 2011-2022 走看看