1943:進変換
制限時間:1秒 メモリ制限:32メガバイトの提出:1559 解決:579
[ 送信 ] [ ステータス ] [ ウェブボード ]、[作成者:インポート]
説明
30進までの長さは、非負整数出力を2進数に変換される数字。
入力
データの複数のセット、30以下小数非負整数の長さの挙動のそれぞれ。
(数ではなく整数30bitsの、進数30が有していてもよいことに注意してください)
出力
出力の各行に対応する二進数。
サンプル入力
985
211
1126
サンプル出力
1111011001 11010011 10001100110
1の#include <stdio.hの> 2の#include < 文字列・H> 3。 4。 INT メイン(){ 5。 チャー S [ 40 ]; 6 INT C [ 40 ]; 7 一方(scanfの(" %のS "、S)! = EOF){ 8。 INT LEN = STRLEN(S)、Iは= 0 ; 9 // 最初の上部ボロー高い一時保存するかどうかを示すQ 10 のint ANS [ 100 ]、NUM = 0 、Q、温度を、 11 // 最初の整数配列に変換された文字列 12がある ため(のInt K = 0 ; K <lenを、K ++ ){ 13である C [K] = S [K] - ' 0 ' ; 14 } 15 ながら(I < LEN){ 16 Q = 0 ; 17。 ANS [NUM ++] =( C [lenを1 ])%2 ; 18は、 //は新しい配列を作成する 19。 ための(INT J = I; J <lenを、J ++ ){ 20は TEMP = C [J]; 21である C [J] =(C [J ] + Q)/ 2 ; 22であります IF(TEMP%2 == 0){ //は高い割り切れるか否かを判断 23である Q = 0 ; 24 } 他{ 25 Q = 10 ; 26である } 27 } 28 IF(C [I] == 0)I ++ ; 29 } 30 のために(INT I = num- 1。 ; I> = 0 ; i-- ){ 31である のprintf(" %のD "、ANS [I])。 32 } 33 のprintf(" \ n " ); 34 } 35 リターン 0 。 36 }