PAT B1021桁の統計
件名の説明:
与えられたkビットの整数N = D kを1〜10 kは iが≤-1 +⋯+ D 1 10 1 + D 0(0≤d 9、I = 0、⋯、 K-1、DのK-1> 0)、 異なる単一の数字が表示されるのそれぞれの数をカウントするためのプログラムを書きます。たとえば、次の指定されたN = 100311、2 0,3 1 2、1 3があります。
入力フォーマットは:
各入力はテスト、すなわち、無1000以上の正の整数Nを含みます
出力フォーマット:
Mビットデジタル出力形式D及びM.における行Nにおける出現の数:DへのN個の異なる数字の各々について D.の昇順に必要な出力
サンプル入力:
100311
出力サンプル:
0:2
1:3
3:1
参照コード:
1 / * *********************************************** **** 2つの PAT B1021桁の統計 3 ************************************** ************* * / 4の#include <入出力ストリーム> 5。 6。 使用した 名前空間STD; 7 。8 INT メイン(){ 9 列NUM; 10 INT appearTime [ 10 ] { 0 }; // 出現統計0.9の数 11 12 CIN >> NUM; 13 14 // 統計の数は、各出現0 0.9に数値を入力し 15 のために(INT I = 0 ; ++; Iはnum.size()< I){ 16 appearTime [NUMは、[I]は- ' 0 ' ] ++ ; 17 } 18であるが 。19の // 出力統計 20 BOOL isFirstNum = trueに ; // 二次数が0であり、入力は出力改行するかどうかかどうかを決定 21がある ため(int型 I = 0 ;私は< 10 ; ++ I)は{ 22はある 場合(!appearTime [I] = 0 ){ 23である 場合(!isFirstNum)COUT < <てendl; //これは出力に必要とされない場合、最初の出力と前回の出力改行を分離 24 COUT << << I ' :' << ; appearTime [I] 25 isFirstNum = falseに、 26である } 27 } 28 29 IF(isFirstNum)を<< COUT " 0:0 " ; // 何も出力が記載されていない場合は、デジタル入力0 30 31である 戻り 0 ; 32 }
注意事項:
1:入力を処理注はゼロです。