1. 程式人生 > >2017.11.4

2017.11.4

www. div iomanip vid image mat 轉化 測試 lai

時間限制:1秒 空間限制:32768K 熱度指數:10503

算法知識視頻講解

題目描述

給定一個十進制數M,以及需要轉換的進制數N。將十進制數M轉化為N進制數

輸入描述:

輸入為一行,M(32位整數)、N(2 ≤ N ≤ 16),以空格隔開。

輸出描述:

為每個測試實例輸出轉換後的數,每個輸出占一行。如果N大於9,則對應的數字規則參考16進制(比如,10用A表示,等等)
示例1

輸入

7 2

輸出

111


技術分享

#include <iostream>
#include <stdio.h>
#include <math.h>
#include <iomanip> //不能寫成#include <iomanip.h>
#include <string.h>


using namespace std;

int main()
{
int M=0; //十進制數M
int N=0; //N進制數
int i=0;
int array[100]; //用於存儲M除N的余數
int zero=1; //循環標誌位,如果是0,就說明已經可以退出循環
string str="0123456789ABCDEF",str1="";
cin>>M>>N; //輸入
if(M<0) //判斷M是否小於0
{
cout<<"-";
M=-M;
}
if(M==0)//判斷M是否等於0
{
cout<<0<<endl;
}
while(zero!=0)//求余數
{
str1=str[array[i]=M%N]+str1;
i++;
zero=(int)M/N;
M/=N;
}
cout<<str1<<endl; //輸出
return 0;
}




2017.11.4