1813. M进制数问题

Constraints

Time Limit: 1 secs, Memory Limit: 32 MB

Description

试用 C++的类来表示一般进制数。

给定 2 个nm进制整数AB,计算m进制数整数P = A / B (向下取整)与 = A % B的值。

Input

输入包含多个测试点。第一行为一个整数T,表示测试点数。

对于每个测试点第 1 行是进制 m 。第 2 行和第 3 行分别给出 m 进制整数 AB

所有 m 进制数的10进制表示均不超出int范围。

Output

对于每个测试点,第一行输出 m 进制数整数 P = A / B 的值,第二行输出 Q = A % B 的值。

Sample Input

1
16
29FA5
7

Sample Output

5FF3
0 /************************************************************************************************************

#include<iostream>
using namespace std;

int map(char s){
 return s-'A'+10;
}

void change(int n, int p){
     int s[65];
     int c;
     int m=0;;
     if(n==0) cout<<0;
     while (n!=0)//数制转换,结果存入数组s[m] 
        { 
            c=n%p; 
            n=n/p; 
            m++;s[m]=c;   //将余数按顺序存入数组s[m]中 
        } 
     
        for(int k=m;k>=1;k--)//输出转换后的序列 
        { 
            if(s[k]>=10) //若为十六进制等则输出相对应的字母 
                cout<<(char)(s[k]+55); 
            else         //否则直接输出数字 
                cout<<s[k]; 
        } 
        cout<<endl;
}

int main(){
 int n;
 cin>>n;
 while(n--){
  int a;
  cin>>a;
  string s,ss;
  int c=0;
  cin>>s>>ss;
  for(int i=0;i<s.length();i++){
   if(s[i]>='0'&&s[i]<='9'){
       c = a*c + (s[i]-'0'); 
   }
   else{
    c = a*c + map(s[i]);
   }
      //cout<<c<<"#####"<<endl;
  }
  int cc=0;
  for(int i=0;i<ss.length();i++){
   if(s[i]>='0'&&ss[i]<='9'){
       cc = cc*a + (ss[i]-'0'); 
   }
   else{
    cc = cc*a + map(ss[i]);
   }
   //cout<<cc<<"******"<<endl;
  }
  
  int t = c/cc;
  int p = c%cc;
  //cout<<"t="<<t<<endl;
  //cout<<"p="<<p<<endl; 
  
  change(t,a);
  change(p,a);
   
 }
 return 0;
}

1813. M进制数问题的更多相关文章

  1. [转]as3 算法实例【输出1 到最大的N 位数 题目:输入数字n,按顺序输出从1 最大的n 位10 进制数。比如输入3,则输出1、2、3 一直到最大的3 位数即999。】

    思路:如果我们在数字前面补0的话,就会发现n位所有10进制数其实就是n个从0到9的全排列.也就是说,我们把数字的每一位都从0到9排列一遍,就得到了所有的10进制数. /** *ch 存放数字 *n n ...

  2. CF459C Pashmak and Buses (构造d位k进制数

    C - Pashmak and Buses Codeforces Round #261 (Div. 2) C. Pashmak and Buses time limit per test 1 seco ...

  3. [codevs1157]2^k进制数

    [codevs1157]2k进制数 试题描述 设r是个2k 进制数,并满足以下条件: (1)r至少是个2位的2k 进制数. (2)作为2k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. ...

  4. noip2006 2^k进制数

    设r是个2k进制数,并满足以下条件: (1)r至少是个2位的2k进制数. (2)作为2k进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w ...

  5. c++描述将一个2进制数转化成10进制数(用到初始化栈,进栈,入栈)

    /* c++描述将2进制数转化成10进制数 问题,1.初始化栈后,用new,不知道delete是否要再写一个函数释放内存, 还是在哪里可以加上delete 2.如果栈满了,我要分配多点空间,我想的办法 ...

  6. 关于不同进制数之间转换的数学推导【Written By KillerLegend】

    关于不同进制数之间转换的数学推导 涉及范围:正整数范围内二进制(Binary),八进制(Octonary),十进制(Decimal),十六进制(hexadecimal)之间的转换 数的进制有多种,比如 ...

  7. NOIP2006 2k进制数

    2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换 ...

  8. 4位bcd数转换为2进制数

    DATA   SEGMENTBUF    DW  1234HBUF1   DW  ?    ;2进制数放到buf1内存单元DATA   ENDSCODE   SEGMENTASSUME CS:CODE ...

  9. P1066 2^k进制数

    传送门 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进 ...

随机推荐

  1. php中Content-type说明

    'hqx' -> 'application/mac-binhex40','cpt' -> 'application/mac-compactpro','doc' -> 'applica ...

  2. VFP正则表达式判断是否是手机号码/电子邮件

    正则表达式,可以理解为字符匹配或搜索技术 ,重要的是Pattern属性的写法. *--判断是否是手机号码Function isMobiPhoneLparameters cStroRegExp=Newo ...

  3. jquery each循环,

    jquery each循环,要实现break和continue的功能: break----用return false; continue --用return ture; each()函数是基本上所有的 ...

  4. 2016国内最值得期待的响应式前端框架pintuer(拼图)--http://www.pintuer.com

    近期,需要将项目从pc端的应用扩展到移动端. 当然移动框架的第一选择必然是bootstrap,但是bootstrap作为移动端明显过于死板,而且作为国外的产品,对于国内的应用明显水土不服.框架里总有那 ...

  5. selenium—八种定位方法

    find_element_by_id() find_element_by_name() find_element_by_class_name() find_element_by_tag_name() ...

  6. ajax请求封装

    var xmlHttp; var ajaxRequest = function (params) { xmlHttp ={}; this.url = params.url; this.method = ...

  7. python第十八天-----Django基础

    1.路由系统 a.普通路由 url(r'^index$', views.index), b.正则路由 url(r'^index/(\d*)', views.index), url(r'^manage/ ...

  8. 解决“LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”问题

    更新VS2010,或者卸载VS2013安装2010后,建立项目时会出现"LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏"的错误 ...

  9. C# 文件操作 把文件读取到字节数组

    string zipfile = "c:\\a.zip"; //方法1 FileStream fs = new FileStream(zipfile, FileMode.Open) ...

  10. 如何去掉Eclipse里面自动追加的一些注释!!!内详

    比如我创建一个类,勾选了自动生成main函数.他就来一个// TODO Auto-generated method stub比如我输入"try"然后自动补完try catch bl ...