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. Python 2.7下载地址

    网址:https://www.python.org/downloads/release/python-2711/ Python 2.7.11 Release Date: 2015-12-05 Pyth ...

  2. css 取消默认的padding

    ;;} --透明 兼容写法 filter:alpha(opacity=90);-moz-opacity:0.9; -khtml-opacity: 0.9;opacity: 0.9;

  3. CSS的两大重点

    一.属性:通过属性的复杂叠加才能做出漂亮的网页 二.选择器:通过选择器找到对应的标签设置样式,选择器的作用是:选择对应的标签,为之添加样式 1>标签选择器:根据标签签名找到标签 div{     ...

  4. C# .csv文件转为Excel格式;Excel格式转换为.csv

    using System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Windo ...

  5. NSDate管理日期和时间

    //时间初始化        NSDate *date = [[NSDate alloc]initWithString:@"2010-01-01 23:59:59 +0900"]; ...

  6. 使用vagrant创建虚拟机

    关于vagrant,维基百科给出了定义:"Vagrant is an open-source software product for building and maintaining po ...

  7. re模块汇总

    text = 'The Attila the hun show' m = re.match('.',text)#任意单个字符 m.group() 'T' m = re.match('.*',text) ...

  8. gcc 使用 stdio.h

    9876543210z@z:~/funnyC++$ cat main.cpp #include <stdio.h> int main() { ; ) { printf("%d&q ...

  9. [python] ORM 第一次注释

    不懂的东西还太多,就当是自己监督自己吧 #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'Michael Liao' impor ...

  10. centos7安装数据库

    centos7的yum源中貌似没有正常安装MySQL时的mysql-server. 那么就需要从官网下载了. 下面是安装mysql的命令: # wget http://dev.mysql.com/ge ...