| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8085 人关注过本帖
标题:100元买100只鸡。。公鸡5元一只。母鸡3元一只。小鸡一元3只。问100买100只共 ...
只看楼主 加入收藏
hujian100
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2006-9-14
收藏
得分:0 

这是我做的,试过了,没问题,你看看!
#include <stdio.h>
main()
{
int x,y,z,count=0;
for(x=1;x<20;x++)
{
for(y=1;y<32;y++)
{
z=100-x-y;
if((z%3)==0&&5*x+3*y+z/3==100)
{
printf("x=%d,y=%d,z=%d\n",x,y,z);
count++;
}
}
}
printf("There are %d methords in total.",count);
getch();
}


2006-10-22 21:35
longerhe
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-10-10
收藏
得分:0 
以下是引用leo6在2006-10-22 18:54:36的发言:

x+y+z/3是什么意思?

表示全部加起来一百只鸡咯.....

2006-10-23 00:02
longerhe
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-10-10
收藏
得分:0 
以下是引用unicorn在2006-10-22 19:53:03的发言:
多少种方法加个计数器就可以了

#include<stdio.h>
main()
{int x,y,z,n=0;
for(x=1;x<=20;x++)//包括公鸡的只数
for(y=1;y<=100-x;y++)//母鸡的只数
{z=100-x-y;//小鸡的只数
if(5*x+3*y+z*1.0/3==100)//三种鸡只数为100时满足条件(这句话的意思好像是三种鸡共花了100元吧...)
{printf("x=%d y=%d z=%d\n",x,y,z); n++;}
}
printf("一共%d种组合\n",n);
}

2006-10-23 00:20
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
以下是引用longerhe在2006-10-23 0:20:17的发言:

写快了...谢谢更正


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-23 12:27
地域使者
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-9-14
收藏
得分:0 

if(5*x+3*y+z*1.0/3==100)//三种鸡只数为100时满足条件(这句话的意思好像是三种鸡共花了100元吧...)

为什么是Z*1/3??

[此贴子已经被作者于2006-10-23 13:24:36编辑过]

2006-10-23 13:16
longerhe
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-10-10
收藏
得分:0 
因为一元能买三只小鸡那么多....所以用它的只数的1/3就算出钱数来...
2006-10-23 14:09
死蚀
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-18
收藏
得分:0 
给你个最明了的:
/* Note:Your choice is C IDE */
#include "stdio.h"
main()
{
int sen1,sen2,sen3;

for(sen1=1; sen1<15; sen1++)
{
for(sen2=1; sen2<30; sen2++)
{
for(sen3=1; sen3<100; sen3++)
{
if((sen1+sen2+sen3==100) && (sen1*5+sen2*3+sen3/3==100))
printf("sen1=%d,sen2=%d,sen3=%d\n",sen1,sen2,sen3);
}
}
}

}

2006-10-23 15:03
dicky3651
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-9-27
收藏
得分:0 
[QUOTE][QUOTE]

不是题目有问题,题目是一条经典的百钱买百鸡问题,是楼主的判断条件(if出了问题)
用以下这个就应该了

[/QUOTE]if(z%3==0&&x+y+z/3==100&&5*x+3*y+z/3==100)
至于楼主问到x+y+z/3==100是什么意思就是买鸡的价要是100元,题目就是问100元能买100只鸡的法办
而前边z%3==0是为了确保不会出现小数,因为鸡无可能是小数。
最后,由于问题是问办法有几种,所以在最后不应输出 x , y , z , 而是在if下加多一个整型变量,如a
则if语句应该有一句 a +=1;最后输出a才是最后答案。

又要学LINUX内核,又要学SDK,仲要本本书都砖头咁厚,简直是拿我的命
2006-10-24 22:42
四处漂泊
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-11-28
收藏
得分:0 
题目肯定有问题的

2006-10-24 22:46
dicky3651
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-9-27
收藏
得分:0 
题目没有问题啊,我前段时间才在学校的竞赛中做完,是做得到的

又要学LINUX内核,又要学SDK,仲要本本书都砖头咁厚,简直是拿我的命
2006-10-24 23:04
快速回复:100元买100只鸡。。公鸡5元一只。母鸡3元一只。小鸡一元3只。问100买1 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017094 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved