WOJ1319 數制轉換

2021-08-08 00:12:56 字數 563 閱讀 5482

有一種數制的基數是三,權值可以取-1,0,1,並且分別用符號-,0,1表示。這種數值的101便表示十進位制的10,即1×3^2 +  0×3^1 + 1×3^0 = 10,又如這種數制的-0表示十進位制的-3,即 -1×3^1 + 0×3^0 = -3。要求把給定的有符號整數轉換為新數制的數,該數的前面不能有多餘的0,例如10的新數制表示是101,則不要輸出乘0101。

資料第一行的數字t表示輸入資料有t組,接下來的t行每行有乙個整數n(32位整型可表示範圍內),整數內不會有其他分隔符。

對輸入的每乙個數字輸出一行,該行是輸入行整數的新數制表示。

2

10-3

101

-0

#include#includechar buf[128];

int length;

int main()

else

switch(-n%3)

}puts(buf+length+1);

}return 0;

}

shell 數制轉換

shell 指令碼預設數值是由10 進製數處理,除非這個數字某種特殊的標記法或字首開頭.才可以表示其它進製型別數值。如 以 0 開頭就是 8 進製.以0x 開頭就是16 進製數.使用 base number 這種形式可以表示其它進製.base值 2 64.使用方法 八進位制轉十進位制 charles...

數制的轉換

鏈棧實現數制的轉換 include using namespace std define ok 1 define error 0 define overflow 2 typedef int status define e 8 typedef struct snodesnode,linkstack s...

數制轉換問題

description 在實際問題中經常遇到需要對不同的進製數進行轉換,實現將p進製數轉換成r進製數 2 p,r 16 input 資料報含多行,每行包含三個資料,分別為p,r和待轉換的p進製數d 該數的十進位制表示小於100000000 字母用大寫表示,abcdef,當p為0時,結束輸入。outp...