C実戦練習テーマ83

3788 ワード

テーマ:0—7の構成することができる奇数の個数を求めます.
プログラム分析:
この問題は実は配列の組み合わせの問題で、この数をsun=a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8とし、a 1-a 8はこの数のあるビットの数値を表し、1つの数の最後のビットが奇数である場合、この数は必ず奇数であり、前のビットがどんな数字であるかにかかわらず.最後の桁数が偶数の場合、この数は必ず偶数です.
a 1-a 8は0-7という8つの数字を取ることができ、トップ数字は0ではありません.
この数が1桁から8桁までの奇数の数を統計します.
  • 1.1桁のみの場合はその数の最下位であり、奇数個数は4
  • 2.この数が2桁の場合、奇数個数は4*7=28
  • 3.この数が3桁の場合、奇数個数は4*8*7=224
  • ...
  • 8.この数が8桁の場合、奇数個数は4*8*8*8*8*8*8*7(順に最下位から1位)
  • 例:
     1 #include
     2 int main(int agrc, char*agrv[])
     3 {
     4     long sum = 4, s = 4;//sum     4  ,              4 
     5     int j;
     6     for (j = 2; j <= 8; j++)
     7     {    
     8         printf("%d        %ld
    ", j-1, s); 9 if (j <= 2) 10 s *= 7; 11 else 12 s *= 8; 13 sum += s; 14 } 15 printf("%d %ld
    ", j-1, s); 16 printf(" :%ld
    ", sum); 17 // system("pause"); 18 return 0; 19 }

    上記のインスタンスの実行出力の結果は、次のとおりです.
    1        4
    2        28
    3        224
    4        1792
    5        14336
    6        114688
    7        917504
    8        7340032
           :8388608

    読んでくれてありがとう.心を込めて悟ってください.勉强好きなあなたに助けてほしい!分かち合うのも1种の楽しみです!!!リレーをお願いします...
    クリックして原文を見て、ありがとうございます!