关于百钱百鸡问题

guangdongmutou 2010-09-15 08:50:09

#include<iostream>
using namespace std;
int main ()
{
double x=5, y=3, z=1/3;
for (double a =0; a <= 20; a++)
for (double b =0; b < 33; b++)
for (double c =0; c <= 300; c++)
{
double sum = a * x + b * y + c * z;//总价应是100钱
double n = a + b + c;//总数应是100
if (sum == 100 && n == 100)
cout << "公鸡= " << a << " 母鸡= " << b << " 小鸡= " << c << endl;
}
cin.get();
cin.get();
}


已经判断了如果总价等于100并且总数也等于100的时候,才输入公鸡母鸡小鸡的个数。


为什么程序把不符合总价等于100的方案也打印了?

...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
guangdongmutou 2010-09-15
  • 打赏
  • 举报
回复
那是数量相加起来,
公鸡没只 5元 , 母鸡每只 3元, 小鸡1元有3只。
所有价钱相加起来没有等于100也打印出来了。

我发现为什么会这样。
应该z=0;


所有如果只计算公鸡和母鸡的总价钱,是刚刚好等于100元
  • 打赏
  • 举报
回复
??= 2 ??= 30 ??= 68
??= 5 ??= 25 ??= 70
??= 8 ??= 20 ??= 72
??= 11 ??= 15 ??= 74
??= 14 ??= 10 ??= 76
??= 17 ??= 5 ??= 78
??= 20 ??= 0 ??= 80

由于英文版,所以乱码

相加起来都是100啊
guangdongmutou 2010-09-15
  • 打赏
  • 举报
回复
2 30 60   2*5+30*3+60*(1/3)=120
5 25 70
8 20 72 
11 15 74 
………………
………………

  • 打赏
  • 举报
回复
没有,不可能
我这边运行正常

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧