進製轉換
time limit: 1000 ms memory limit: 65536 kib
submit statistic discuss
problem description
輸入乙個十進位制數n,將它轉換成r進製數輸出。
input
輸入資料報含多個測試例項,每個測試例項包含兩個整數n(32位整數)和r(2<=r<=16, r != 10)。
output
為每個測試例項輸出轉換後的數,每個輸出佔一行。如果r大於10,則對應的數字規則參考16進製制(比如,10用a表示,等等)。
sample input
7 2
23 12
-4 3
sample output
111
1b -11
hint
source
hdoj
#include
#include
typedef struct
sqstack;
int sempty(sqstack*s)
else
return0;}
void push(sqstack*s,char key)
intpop(sqstack*s)
return e1;
}void change(long long int num,long long int r)
if(num<0)
sqstack*q;
q=(sqstack*)malloc(sizeof(sqstack));
q->top=-1;
while(num!=0)
if(flag==1)
while(!sempty(q))
else
if(e2==11)
else
if(e2==12)
else
if(e2==13)
else
if(e2==14)
else
if(e2==15)
else
printf("%d",e2);
}else
printf("%d",e2);
}printf("\n");
}int main()
return
0;}
think:對於進製轉換來說,如果是負值,那就先轉換成正值進行入棧後,出棧的時候先輸出負值,在出棧;當出棧的時候要對比10大的數單獨進行操作,其他的正常輸出;
note:
void change(long
long
int num,long
long
int r)
這裡我們想要的是0這種情況,就不要執行下面的部分了,return 在void 函式中還有結束函式的作用 SDUT1252進製轉換 棧
time limit 1000ms memory limit 65536k 輸入乙個十進位制數n,將它轉換成r進製數輸出。輸入資料報含多個測試例項,每個測試例項包含兩個整數n 32位整數 和r 2 r 16,r 10 為每個測試例項輸出轉換後的數,每個輸出佔一行。如果r大於10,則對應的數字規則參考...
SDUT 1252 進製轉換
time limit 1000ms memory limit 65536kb submit statistic discuss problem description 輸入乙個十進位制數n,將它轉換成r進製數輸出。input 輸入資料報含多個測試例項,每個測試例項包含兩個整數n 32位整數 和r 2...
SDUT 1252 進製轉換
進製轉換 time limit 1000ms memory limit 65536kb submit statistic discuss problem description 輸入乙個十進位制數n,將它轉換成r進製數輸出。input 輸入資料報含多個測試例項,每個測試例項包含兩個整數n 32位整數...