題目:
- 求0—7所能組成的奇數(shù)個(gè)數(shù)
已知:
* 組成1位數(shù)是4個(gè)。
* 組成2位數(shù)是7*4個(gè)。
* 組成3位數(shù)是7*8*4個(gè)。
思路分析:
- 這個(gè)問(wèn)題其實(shí)是一個(gè)排列組合的問(wèn)題,設(shè)這個(gè)數(shù)為sun=a1a2a3a4a5a6a7a8,a1-a8表示這個(gè)數(shù)的某位的數(shù)值,
- 當(dāng)一個(gè)數(shù)的最后一位為奇數(shù)時(shí),那么這個(gè)數(shù)一定為奇數(shù),不管前面幾位是什么數(shù)字。如果最后一位數(shù)為偶數(shù), 則這個(gè)數(shù)一定為偶數(shù)。
- a1-a8可以取0-7這個(gè)八個(gè)數(shù)字,首位數(shù)字不為0。 從該數(shù)為一位數(shù)到該數(shù)為8位數(shù)開(kāi)始統(tǒng)計(jì)奇數(shù)的個(gè)數(shù):
- 1.當(dāng)只有一位數(shù)時(shí)也就是該數(shù)的最后一位,奇數(shù)個(gè)數(shù)為4
- 2.當(dāng)該數(shù)為兩位數(shù)時(shí),奇數(shù)個(gè)數(shù)為4*7=28
- 3.當(dāng)該數(shù)為三位數(shù)時(shí),奇數(shù)個(gè)數(shù)為: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 + "位數(shù)的奇數(shù)有:" + odd + "個(gè)");
21 sum += odd;
22 }
23 System.out.println("總計(jì)為" + sum + "個(gè)");
24
25 }
26
27 }