ブルーブリッジカップ2018-地方大会-C / C ++ - 4つの質問のグループ

トピック
のタイトル:最初のいくつかのラッキーナンバー

惑星の訪問者へのXの旅行は、観光客の数として、整数に送信されます。
Xキングスターは、才覚を持って、彼は唯一の数字3,5,7が好き。
訪問者の数が唯一の要因が含まれている場合、キング規定は、:3,5,7、あなたは賞金を得ることができます。

見てみましょう最初の10ラッキーナンバー:
3,579,152,125,273,545
のでラッキーナンバーは11:49

暁明はラッキーナンバー59084709587505を受けた人々はそうでない賞を受けていない、いくつかのラッキーナンバーの最初のものであるかを正確に言うことを彼に尋ねたとき、彼は、賞を受け入れるために行ってきました。

あなたは計算の助けに暁明、59,084,709,587,505は、いくつかのラッキーナンバーです。

整数を提出する必要があり、余分なコンテンツを記入しないでください。

コード

1の#include <iostreamの>
 2の#include <cmath>
 3の#include <stdio.hの>
 4  使用して 名前空間をSTD。
5 typedefの   長い 長いLL。
6 LL [ 20000 ]。
7  CONST N = 11 59084709587505 8  INT メイン(){
 9  
10      iは= LL 1 11      INT I_3 = 0、i_5 = 0、i_7 = 0 12      A [ 0 ] = 1 ;
13     (; A [I- 1 ] <N; I ++){ // 確実に全ての現在の最小値を算出することができる[I]   
14          [I] =分(分(A [I_3が使用される] * 3、A 【i_5使用される] * 5。 )、A * [i_7が使用される] 7。);
 15          COUT <<(A [I] == N)<< "  " << A [I] << "  " << I << ENDL;
 16          // と[i]が導出抗
17。         IF([I] / [I_3が使用される] == 3)I_3は++使用され18である         IF([I] / [i_5が使用される] == 5)++ i_5が使用される;
 。19          IF(A [I] / A == [i_7が使用されます] 7。)i_7が++使用され20を         printf(" 3:%D:5%D 7:%D \ n " 、I_3、i_5、i_7)。
21      } 
 22      COUT << I- 1 << ENDL。
23      
24      
25 }

 

おすすめ

転載: www.cnblogs.com/memocean/p/12292344.html