收藏 分销(赏)

百鸡百钱 again.doc

上传人:pc****0 文档编号:8416702 上传时间:2025-02-13 格式:DOC 页数:2 大小:28KB
下载 相关 举报
百鸡百钱 again.doc_第1页
第1页 / 共2页
百鸡百钱 again.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
百钱百鸡again 时限:1000ms 内存限制:10000K  总时限:4000ms 描述: 经典问题的描述如下:在市场上,鸡的售价分别是:公鸡3文钱1只,母鸡2文1只,小鸡1文3只。问拿100文钱想买100只鸡,则公鸡、母鸡和小鸡应各买多少只? 现在要解决的问题是:如果鸡的价格保持不变,有人拿钱若干,想使买到的鸡数与钱数相当,问有哪些解决方案。 输入: 输入数据包含一个整数N(10<=N<=10000),表示钱数。 输出: 输出数据需列出满足买到的鸡数与所持钱数相当的所有解,每个解占一行,包含三个整数分别表示要买的公鸡、母鸡和小鸡的数量,用空格分隔。存在多组解的情况下,输出按升序排列(即0 0 1在0 1 0之前)。 输入样例: 10 输出样例: 0 4 6 #include<iostream> using namespace std; int main() { int i,j,k,num; cin>>num; for(i=0;i<num/3;i++) for(j=0;j<num/2;j++) { k=num-i-j; // 高效之处 if((i+j+k==num)&&(3*i+2*j+k/3==num)&&(k%3==0)) cout<<i<<" "<<j<<" "<<k<<endl; } } 高效算法 二: #include<stdio.h> main() { int cock,hen,chick; int money; scanf("%d",&money); for(chick=0;chick<=money;chick+=3) { cock=chick*5/3-money; hen=2*money-chick*8/3; if(cock+hen+chick==money&&cock>=0&&hen>=0) printf("%d %d %d\n",cock,hen,chick); } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服