你好,游客 登录 注册 搜索
背景:
阅读新闻

java小算法(1) - wangjinyu501的专栏

[日期:2013-03-19] 来源:  作者: [字体: ]

一、问题

    5文钱买一只公鸡,3文钱买一只母鸡,一文钱买三只雏鸡。现在用100文钱买一百只鸡,那么公鸡、母鸡、雏鸡各有多少只?

二、思路

    首先列出一个数学公式,设公鸡、母鸡、雏鸡各有i,j,k只,那么有等式:

    5i+3j+k/3=100

    i+j+k=100;      i,j,k>=0

    很明显,这个问题有多个解。可以使用枚举法,公鸡最多不超过20只,因为要买100只,如果全买公鸡,那么总数达不到要求,最少0只;同理,母鸡最多不超过30只,最少0只;雏鸡,情况比较特殊,虽然可以买到300只左右,但是只要100只鸡。而且要花完100文钱,所以不可能只卖雏鸡。

三、步骤

    1、建立三重for循环

    2、进行条件判断

    3、输出

四、代码

package datastructure;
/**
 * @author wangpeng
 * 
 */
public class Cock_number {
	/**
	 * @param args
	 */
	public static void main(String[] args) {

		for (int i = 0; i < 100 / 5; i++) {
			for (int j = 0; j < 100 / 3; j++) {
				for (int k = 0; k < 100 * 3; k++) {
					if (i + j + k ==100 && i * 5 + j * 3 + j/ 3 == 100) {
						System.out.println("公鸡:" + i + "\t母鸡:"+ j + "\t小鸡:" + k);
					}
				}
			}
		}
	}
}

五、输出

公鸡:0 母鸡:25 小鸡:75
公鸡:3 母鸡:20 小鸡:77
公鸡:4 母鸡:18 小鸡:78
公鸡:7 母鸡:13 小鸡:80
公鸡:8 母鸡:11 小鸡:81
公鸡:11 母鸡:6 小鸡:83
公鸡:12 母鸡:4 小鸡:84

    

    

 





收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻