C语言经典例83-求0—7所能组成的奇数个数
生活随笔
收集整理的這篇文章主要介紹了
C语言经典例83-求0—7所能组成的奇数个数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
- 1 題目
- 2 分析
- 3 實現(xiàn)
- 4 運(yùn)行結(jié)果
1 題目
求 0—70—70—7 所能組成的奇數(shù)個數(shù)
2 分析
該問題是一個排列組合問題,假設(shè)這個數(shù)為 sumsumsum,sum=a1a2a3a4a5a6a7a8sum=a_1a_2a_3a_4a_5a_6a_7a_8sum=a1?a2?a3?a4?a5?a6?a7?a8?,表示這個數(shù)的某位的數(shù)值,當(dāng)一個數(shù)的最后一位為奇數(shù)時,那么這個數(shù)一定為奇數(shù),不管前面幾位是什么數(shù)字。如果最后一位數(shù)為偶數(shù),則這個數(shù)一定為偶數(shù)。a1?a8a_1-a_8a1??a8? 可以取 0?70-70?7 這個八個數(shù)字,首位數(shù)字不為 000 。從該數(shù)為一位數(shù)到該數(shù)為8位數(shù)開始統(tǒng)計奇數(shù)的個數(shù):
…
3 實現(xiàn)
#include <stdio.h>int main() {long sum = 4, s = 4;//sum的初始值為4表示,只有一位數(shù)字組成的奇數(shù)個數(shù)為4個int j;for (j = 2; j <= 8; j++) { printf("%d位數(shù)為奇數(shù)的個數(shù)%ld\n", j-1, s);if (j <= 2) {s *= 7;} else {s *= 8;}sum += s; }printf("%d位數(shù)為奇數(shù)的個數(shù)%ld\n", j-1, s);printf("奇數(shù)的總個數(shù)為:%ld\n", sum);return 0; }4 運(yùn)行結(jié)果
1位數(shù)為奇數(shù)的個數(shù)4 2位數(shù)為奇數(shù)的個數(shù)28 3位數(shù)為奇數(shù)的個數(shù)224 4位數(shù)為奇數(shù)的個數(shù)1792 5位數(shù)為奇數(shù)的個數(shù)14336 6位數(shù)為奇數(shù)的個數(shù)114688 7位數(shù)為奇數(shù)的個數(shù)917504 8位數(shù)為奇數(shù)的個數(shù)7340032 奇數(shù)的總個數(shù)為:8388608總結(jié)
以上是生活随笔為你收集整理的C语言经典例83-求0—7所能组成的奇数个数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言经典例82-八进制转换为十进制
- 下一篇: C语言经典例84-一个偶数总能表示为两个