1813. M進位數問題

來源:互聯網
上載者:User

標籤:c++   namespace   sam   ++   enter   out   using   esc   轉換   

1813. M進位數問題Constraints

Time Limit: 1 secs, Memory Limit: 32 MB

Description

試用 C++的類來表示一般進位數。

給定 2 個n位m進位整數A和B,計算m進位數整數P = A / B (向下取整)與 Q = A % B的值。

 

Input

輸入包含多個測試點。第一行為一個整數T,表示測試點數。

對於每個測試點第 1 行是進位 m 。第 2 行和第 3 行分別給出 m 進位整數 A 和 B。

所有 m 進位數的10進位表示均不超出int範圍。

 

 

Output

對於每個測試點,第一行輸出 m 進位數整數 P = A / B 的值,第二行輸出 Q = A % B 的值。

 

Sample Input
11629FA57
Sample Output
5FF30

/************************************************************************************************************

#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進位數問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.