/* 求0—7有8个,所能组成的奇数个数。
首位范围1-7共7个,末位共4个。 解题思路: 当只有一位时,奇数个数为4; 当该数为两位数时,奇数个数为7*4; 当该数为三位数时,奇数个数为7*8*4; ...... 当该数为8位时,奇数个数为7*8*8*8*8*8*4; */ #include<stdio.h> #include<math.h> #include<malloc.h> #include<string.h> #define N 8 main() { long sum=4,s=4; int i; for(i=2;i<=8;i++){ printf("%d -- %ld ",i-1,s); if(i<=2){ s*=7; }else{ s*=8; } sum+= s; } printf("%d -- %ld ",i-1,s); printf("sum=%ld ",sum); }