《演算法筆記》C 進製轉換

2021-08-13 04:04:47 字數 811 閱讀 4565

對於乙個p進製的數字,若要轉化為q進製,則需要兩部:

第一步:

將p進製的數字轉化為10進製

y=a1*p(n-1)+a2*p(n-2)+....+an-1p+an

如何實現?

int x,p;

int y=0,pro=1;//p表示進製

while(x!=0)

//將 十進位制轉換為q進製,除基取餘法;

/*例如11轉換為2進製

首先11%2=5  餘1

5%2=2  餘1

2%2=1  餘0

1%2=0  餘1

所以十一的二進位制為  1011 

*/ int z[40],num=0;

dowhile(y!=0);//當商不為0時迴圈 

例題 pat1022

時間限制

100 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者 chen, yue

輸入兩個非負10進製整數a和b(<=230-1),輸出a+b的d (1 < d <= 10)進製數。

輸入格式:

輸入在一行中依次給出3個整數a、b和d。

輸出格式:

輸出a+b的d進製數。

輸入樣例:

123 456 8
輸出樣例:
1103

演算法筆記習題 問題 C 進製轉換

普通10進製轉換為二進位制的方法是除數取餘法。0位數字的十進位制數,查閱以後發現long long int型的範圍大約是10 18,不足以表示10 30。所以這題的思路是用陣列儲存這個數值,然後用陣列的方式模擬除數取餘法 陣列最後乙個數,就是10進製數的尾數,尾數對2取餘的值 陣列表示的這個10進製...

演算法筆記(六)進製轉換

兩種情況 1 將p進製 x 轉換為q進製 資料 要分兩步走 1 將p進製數在轉化為10進製數y 十進位制數形式為 y d1d2d3d4d5d6d7.dn 同可以寫為 y d1 10 n 1 d2 10 n 2 dn 1 10 dn p進製數x為a1a2a3a4a5a6.an,類似於十進位制轉化,同可...

進製轉換 演算法筆記

進製轉換步驟 將p進製轉換為q進製,需要分為兩步 int y 0,product 1 p進製x轉化為10進製的y while x 0 十進位制y轉化為q進製z int z 40 num 0 陣列z存放q的進製數y的每一位,num為位數 dowhile y 0 這樣陣列從高位z num 1 到低位nu...