PAT-進数方式変換-B1022 D A + B(20分)

件名の説明:

  二つの非負小数点整数A及びB(≤2入力30 -1)、D(1 <D≤10)進数の出力A + Bを。

入力フォーマット:

  指定された整数入力逐次3行で、BおよびD.

例:

  入力:123 456 8

  出力:1103

 

アイデア:

  A + Bの計算値、その後Dバンドを変換します。「インターイルモジュロ法」を使用することができます

 

注意点:

  1. A + Bは、範囲intの範囲内であります
  2. 使用するのが最善では···声明ながら行います。特A + Bに等しいwhile文の文を使用するには、0
  3. ハイからローへの出力の格納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 }
コードの表示

 

参考図書 - 「アルゴリズムの注意」 - 胡ファン

おすすめ

転載: www.cnblogs.com/fangzhiyou/p/12398307.html