2017.11.4
阿新 • • 發佈:2017-11-05
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