A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 王小丑 中级黑马   /  2013-2-14 21:24  /  2003 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天一哥们问我一个java题,大概意思是,一只公鸡5块钱,一只母鸡3块钱,3只小鸡一块钱,一个农夫用100块钱买100只鸡(不许解方程),怎么实现?编写java程序。
我后来想了想给出如下的程序;
public static void main(String[] args) {
for(int a1=1;a1<20;a1++){
for(int a2=1;a2<(100-(a1*5))/3;a2++){
int a3 = (100-5*a1-3*a2)*3;
if(a1+a2+a3==100)
System.out.println(“公鸡:”+a1+”只,母鸡:”+a2+”只,小鸡:”+a3+”只”);
}
我感觉这没有问题啊,可是这哥们看了后,说不能用for循环,我晕,这不用循环怎么做???我其实是一菜鸟,又不好意思在学弟面前丢脸,求指教!急!

6 个回复

倒序浏览
这不用for怎么实现?还真纠结,只不过 顺序可变,LZ这里顺序 公鸡,母鸡,小鸡,也可用 母鸡,公鸡,小鸡 顺序来实现
若用 小鸡,公鸡,母鸡的顺序 有点杂,这里我实现下....


对了,LZ 若你那个哥们不用for实现的,告诉我一下....{:soso_e141:}
  1.    for(int a1=3;a1<100;a+=3) {
  2.        for(int a2=1;a2<(100-a1/3)/5;a2++) {
  3.         int a3=(100-a1/3-a2*5)/3;
  4.         int temp=(100-a1/3-a2*5)%3;
  5.         if(temp==0&&a1+a2+a3==100) {
  6.        System.out.println("小鸡:"+a1+"公鸡:"+a2+"母鸡:"+a3);
  7.         }
  8.    }
复制代码
回复 使用道具 举报
弱弱滴问一句,不用for能用while吗?
回复 使用道具 举报
本质还是排列组合问题,从100中取出满足题目中两个条件的三个数
回复 使用道具 举报
KILL掉你那哥们,,,
回复 使用道具 举报
史政法 发表于 2013-2-15 06:22
KILL掉你那哥们,,,

good idea;P
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马