11.03 作业 Problem A: 百钱买百鸡问题
来源:互联网 发布:淘宝店招制作素材 编辑:程序博客网 时间:2024/05/04 19:38
Description
“百钱买百鸡”是我国著名的古代数学问题,中国古代数学家张丘建在他的《算经》中提出了这样一个问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
你的任务是求解下面这个问题。问题是这样描述的:a文钱可买一只公鸡,b文钱可买一只母鸡,c文钱可买d只小鸡。用m文钱买n只鸡,那么有公鸡x只、母鸡y只、小鸡z只。求解出符合题意的x,y,z。
Input
输入为一张表。第一行是一个固定不变的表头,格式见sample。后面有多行,每行为一组测试数据。每组测试数据由6个整数组成,分别为“a,b,c/d,m,n”。满足0<a,b,c,d<=50,50<=m,n<=108+1,并且母鸡和小鸡的单价不会相同。
Output
每组测试数据的运行结果输出为一张表,表头固定为“COCKS,HENS,CHICKS”。每组测试数据的一个可行解数出为一行,为三个整数:“x,y,z”。多组解按照公鸡数从少到多的顺序输出。若测试数据无解则输出“Cannot buy!”。两组测试数据之间用一个空行分隔开。
Sample Input
COCK,HEN,CHICK,MONEY,CHICKS3,2,1/3,100,1005,3,1/3,100,1008,5,1/7,100,1008,5,1/7,300,300
Sample Output
COCKS,HENS,CHICKS0,40,605,32,6310,24,6615,16,6920,8,7225,0,75COCKS,HENS,CHICKS0,25,754,18,788,11,8112,4,84Cannot buy!COCKS,HENS,CHICKS8,40,252
HINT
本题重点在于了解多重循环的运行效率问题,减少一层循环可以降低很大规模的运算量。通过在循环体内加计数器可以统计出循环的运行次数,当测试数据变大时,运行次数的增长会非常可观,这就是超时的原因了。
思路:
用一层循环,解方程组,循环得到方程的解。注意解方程组后要化简。
注:两次循环会超时。
注:判断时不要加上z%d= =0这个条件 比如10元买100只小鸡 1元就可以买10只小鸡 这样10%100!=0。但是1元买10只是可行的。
代码:
#include <stdio.h>int main(){ scanf("COCK,HEN,CHICK,MONEY,CHICKS"); int a,b,c,d,m,n,x,y,z,u; while (scanf("%d,%d,%d/%d,%d,%d",&a,&b,&c,&d,&m,&n)!=EOF) { u=0; for(x=0;x<=m/a;x++) { z=(m-a*x-b*n+b*x)*d/(c-b*d); y=n-x-z; if((x*a*d + y*b*d + z*c == m*d)&&(z>=0&&y>=0)) { if(u==0) { puts ("COCKS,HENS,CHICKS"); } printf("%d,%d,%d\n",x,y,z); u++; } } if(u==0) { printf("Cannot buy!\n"); printf("\n"); } else printf("\n"); } return 0;}
0 0
- 11.03 作业 Problem A: 百钱买百鸡问题
- A + B Problem II(大数问题)
- nyoj485 A*B Problem(九余数问题)
- HDU 5832 A water problem【大数问题】
- 两数相加问题 A + B Problem
- Problem A. Snapper Chain 问题A.按扣链条 解决办法
- 第十六周 复习 问题 A: A+B Problem
- 1.A + B Problem-A + B 问题(容易题)
- 代码实现问题 [CodeForces-893A] [Problem A]
- Problem A
- Problem A
- Problem A
- Problem A
- Problem A
- Problem A
- Problem A
- Problem A
- problem A
- 编程语言C
- Django学习笔记3 Django模型
- 关于增强遍历for循环
- Qt好书推荐
- mac os+selenium2+Firefox驱动+python3
- 11.03 作业 Problem A: 百钱买百鸡问题
- Rowkey设计部分
- 基本数据请求
- 关于ionic连接服务器时出现的500错误
- 解决区块链三大问题的利器
- 四种方案解决lscrollview嵌套listview的问题
- LeetCode85. Maximal Rectangle
- Android NFC标签 开发深度解析 触碰的艺术
- es参数详细说明