《房屋建筑构造与识图》任务12 变形缝
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#Java编程题-百钱百鸡
问题:
百钱百鸡问题。
⽤100钱买100只鸡,公鸡⼀只五钱,母鸡⼀只三钱,雏鸡三只⼀钱,编程计算共有⼏种买法(要求每种鸡⾄少要买1只)。
⾃⼰的实现,没有什么数据结构,算法,求⼤神指点!!
package com.ckhuang.maven.confused;
/**
* 程序功能:百钱百鸡问题(⼀百元买⼀百只鸡)。
<br/>
* ⽤100钱买100只鸡,公鸡⼀只五钱,母鸡⼀只三钱,雏鸡三只⼀钱,<br/>
* 编程计算共有⼏种买法(要求每种鸡⾄少要买1只)。
*
* @author ck.huang
*
*/
public class HundredChicken {
public static final int ROOSTER_PRICE = 5;
public static final int HEN_PRICE = 3;
public static final int BIDDY_PRICE = 1;
public static final int BIDDY_NUM_PER_YUAN = 3;
/**
* @param args
*/
public static void main(String[] args) {
int totalMoney = 100;
int waysCount = 0;
int maxRooster = (totalMoney - HEN_PRICE - BIDDY_PRICE) / ROOSTER_PRICE;
int maxHen = 0;// 最⼤购买母鸡数
int biddyNum = 0;// 购买雏鸡数量
for (int i = 1; i <= maxRooster; i++) {
maxHen = (totalMoney - (ROOSTER_PRICE * i) - BIDDY_PRICE) / HEN_PRICE;
for (int j = 1; j <= maxHen; j++) {
biddyNum = (totalMoney - (ROOSTER_PRICE * i) - HEN_PRICE * j) / BIDDY_PRICE;
if (i + j + (biddyNum * BIDDY_NUM_PER_YUAN) == 100) {
System.out.println("购买公鸡:" + i + "只(" + (ROOSTER_PRICE * i) + "),购买母鸡:" + j + "只("
+ (HEN_PRICE * j) + "钱),购买雏鸡:" + (biddyNum * BIDDY_NUM_PER_YUAN) + "只(" + biddyNum
+ "钱)");
waysCount++;
}
}
}
System.out.println("共有:" + waysCount + "种⽅式购买!");
}
}
结果:
购买公鸡:4只(20),购买母鸡:18只(54钱),购买雏鸡:78只(26钱)
购买公鸡:8只(40),购买母鸡:11只(33钱),购买雏鸡:81只(27钱)
购买公鸡:12只(60),购买母鸡:4只(12钱),购买雏鸡:84只(28钱)
共有:3种⽅式购买!。