件名の説明:
二つの非負小数点整数A及びB(≤2入力30 -1)、D(1 <D≤10)進数の出力A + Bを。
入力フォーマット:
指定された整数入力逐次3行で、BおよびD.
例:
入力:123 456 8
出力:1103
アイデア:
A + Bの計算値、その後Dバンドを変換します。「インターイルモジュロ法」を使用することができます
注意点:
- A + Bは、範囲intの範囲内であります
- 使用するのが最善では···声明ながら行います。特A + Bに等しいwhile文の文を使用するには、0
- ハイからローへの出力の格納A + B%のDアレイ
コード:
1つの#include <iostreamの> 2 使用して 名前空間STD; 3 4。 INT )(メイン 5。 { 6。 int型 A、B、Z; // タイトルデータが十分INTの範囲内である 7。 int型の DATAS [ 40 ] = { 0 }; // ストアDの各桁の16進数 8。 int型 D、NUM = 0 ; 9 10 scanfの(" %D%LLD LLD%"、&、&B、&D); 11 12は Z = A + B、 13は 14 // ため基地変換 15 やる 16 { 17 DATAS [NUMを++] = Zの%のD、 18は Z / = D; 。19 } しばらく(Z =!0 )、 20は 21である // ハイからローに、D出力進数 22である ため(int型 I NUM = - 1。 ; I> = 0 ; i-- ) 23である { 24 のprintf(" %のD " 、DATAS [I]); 25 } 26れる 27 戻り 0 ; 28 }
参考図書 - 「アルゴリズムの注意」 - 胡ファン