羅区P2320 [HNOI2006]鬼谷子財布

トピックポータル

問題解決のアイデア:

各番号iについて、我々は、I / 2を使用することができ、I / 2のために、我々は、I / 4で表すことができるのに対し、......、表現(など)されています

10のために、我々は唯一の5,3,2,1する必要があるので、例えば、10のために、我々は5 +とを表すことができ、3及び5は、+ 2で表されることができ、2 + 1は、1で表すことができます。

ACコード:

1の#include <cstdioを>
 2の#include <iostreamの>
 3  
4  使用して 名前空間STDを、
5  
6  int型 M、ANS [ 2000000 ]、K。
7  
8  のint main()の
 9  {
 10      のscanf(" %dの"、&M)。
11      一方、(M){
 12の          ANS [++ K] =(M + 1)/ 2 13          M / = 2 14      }
 15      のprintf(" %d個の\ nを"、K)。
16      K ++ 17      一方、( - K) 
 18          のprintf(" %dの" 、ANS [K])。
19      リターン 0 ;
20 }

 

おすすめ

転載: www.cnblogs.com/lipeiyi520/p/11306013.html