java-常用程序设计方法

一、枚举法:

在程序设计中,经常需要根据给定的一组条件秋满足条件的解,若问题的解可以用现有的公式,或者按照一定的规则规律求得,那么就可以很容易地写出相应的程序代码。

枚举法:也称为穷举法,其基本思想是先依据题目给定的条件将所有可能的解列举出阿里,然后用其余的条件对所有可能的解进行逐一验证,验证是否是问题的解,删去不符合条件的解,剩下符合条件的解就是整个问题的解。

枚举法求解有三个条件:

a、有明显的枚举方位,且求解对象是有限的;

b、可以按照某种规则或规律列举对象;

c、有枚举规则。

【实例 3.17】采用枚举法实现打印出100~999所有的水仙花数,所谓水仙花数是指一个三位数,其个位数字立方和等于该数本身。

代码如下:

public class Ex3_17 {

public static void main(String[] args) {

for (int m = 100; m <= 999; m++) {

int x = m % 10;

int y = m / 10 % 10;

int z = m / 100;

if(m==Math.pow(x, 3) + Math.pow(y, 3) + Math.pow(z, 3)){

System.out.println("水仙花数m=" + m);

}

}

}

}

【实例3.18】“百钱买鸡”问题。有一个人由一百块钱,打算买一百只鸡。到市场一看,公鸡每只5元,母鸡每只3元,小鸡1元买3只,问什么样的买法,才能刚好用一百块钱苗一百只鸡。

public class Ex3_18 {

public static void main(String[] args) {

int x = 0;

while( x <= 19){

int y = 0;

while( y <= 33){

int z = 100 - x - y;

if (x*5+y*3+z/3==100 && z%3==0) {

System.out.print("公鸡数:" + x + " | ");

System.out.print("母鸡数:" + y + " | ");

System.out.println("小鸡数" + z + " | ");

}

y++; }

x++;  }

}

}

你可能感兴趣的:(java-常用程序设计方法)