43 求0—7所能组成的奇数个数

题目:求0—7所能组成的奇数个数
 已知:
       组成1位数是4个。
       组成2位数是7*4个。
       组成3位数是7*8*4个。

思路分析:
        这个问题其实是一个排列组合的问题,设这个数为sun=a1a2a3a4a5a6a7a8,a1-a8表示这个数的某位的数值,
当一个数的最后一位为奇数时,那么这个数一定为奇数,不管前面几位是什么数字。如果最后一位数为偶数, 则这个数一定为偶数。
a1-a8可以取0-7这个八个数字,首位数字不为0。 从该数为一位数到该数为8位数开始统计奇数的个数:
    1.当只有一位数时也就是该数的最后一位,奇数个数为4
   2.当该数为两位数时,奇数个数为4*7=28
  3.当该数为三位数时,奇数个数为:4*8*7=224

 1    public class _043CountOddNumber {
 2 
 3     public static void main(String[] args) {
 4         countOddNumber();
 5     }
 6 
 7     private static void countOddNumber() {
 8         int sum = 0;
 9         int odd = 0;
10         int j;
11 
12         for (j = 1; j < 9; j++) {
13             if (j == 1) {
14                 odd = 4;
15             } else if (j == 2) {
16                 odd *= 7;
17             } else {
18                 odd *= 8;
19             }
20             System.out.println("组成" + j + "位数的奇数有:" + odd + "个");
21             sum += odd;
22         }
23         System.out.println("总计为" + sum + "个");
24 
25     }
26 
27 }

 

posted @ 2017-03-13 19:09  北极的大企鹅  阅读(768)  评论(0编辑  收藏  举报
阅读 - 79万