冬休み3日目--スタックとキュー--進数変換(配列)

994 ワード

しんしんへんかん


Time Limit: 1000MS Memory limit: 65536K


タイトルの説明


10進数Nを入力し、R進数出力に変換します.

入力


入力データは複数の試験例を含み、各試験例は2つの整数N(32ビット整数)とR(2<=R<=16,R<>10)を含む.

しゅつりょく


変換された数をテストインスタンスごとに出力し、出力ごとに1行を占めます.Rが10より大きい場合、対応する数値規則は16進数(例えば、10はAで表されるなど)を参照する.

サンプル入力

7 2
23 12
-4 3

サンプル出力

111
1B
-11

ヒント


注意入力nが0の場合はwhileループから直接飛び出しますので先に処理してください

ソース


HDOJ

プログラム例include<stdio.h> int main() { int n , m , a[40] , i , flag ; while(scanf("%d %d", &n, &m)!=EOF) { flag = 0 ; i = 0 ; if(n < 0) {flag = 1 ; n = -n ;} if(n==0){printf("0"); continue;} while(n != 0) { i++; a[i] = n % m ; n = n / m ; } if(flag) printf("-"); while(i) { if(a[i] < 10) printf("%d", a[i]); else printf("%c", a[i]-10 + 'A'); i--; } printf(""); } }