題目:求0—7所能組成的奇數個數,
程式分析:
這個問題其實是一個排列組合的問題,設這個數為 sun=a1a2a3a4a5a6a7a8,a1-a8 表示這個數的某位的數值,當一個數的最后一位為奇數時,那么這個數一定為奇數,不管前面幾位是什么數字,如果最后一位數為偶數,則這個數一定為偶數,
a1-a8可以取 0-7 這個八個數字,首位數字不為 0,
從該數為一位數到該數為8位數開始統計奇數的個數:
- 1.當只有一位數時也就是該數的最后一位,奇數個數為4
- 2.當該數為兩位數時,奇數個數為4*7=28
- 3.當該數為三位數時,奇數個數為:4*8*7=224
- ...
- 8.當該數為八位數時,奇數個數為:4*8*8*8*8*8*8*7(依次為最后一位到第一位)
實體:
1 #include<stdio.h> 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\n", j-1, s); 9 if (j <= 2) 10 s *= 7; 11 else 12 s *= 8; 13 sum += s; 14 } 15 printf("%d位數為奇數的個數%ld\n", j-1, s); 16 printf("奇數的總個數為:%ld\n", 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
感謝你的閱讀,請用心感悟!希望可以幫到愛學習的你!!分享也是一種快樂!!!請接力,,,
點擊查看原文,謝謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/1859.html
標籤:C
上一篇:C 實戰練習題目82
下一篇:C 實戰練習題目84
