题解 | #百钱买百鸡问题#
百钱买百鸡问题
http://www.nowcoder.com/practice/74c493f094304ea2bda37d0dc40dc85b
价格计算5x+3y+z/3=100:
//5x+3y+z/3=100; --*3--> 15x+9y+z=300 z=300-15x-9y;
数量计算x+y+z=100:
//x+y+z=100;z=100-x-y;
合并两者消除z值计算:100-x-y=300-15x-9y:
//100-x-y == 300-15x-9y ----> 200-15x-9y +x+y=0 ---->200=14x+8y=0 ---> 7x+4y=100
得到:
7x+4y=100
#include <iostream> #include <map> using namespace std; /* * 公元前五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? */ static const int J_NUM=100;//鸡鸡数量 static const int Q_NUM=100;//钱钱数量 static const int JM=5; //公鸡价格 static const int JW=3; //母鸡价格 int main(void) { int max_x=Q_NUM/JM,max_y=Q_NUM/JW; for(int i=0;i<max_x;i++) { for(int j=0;j<max_y;j++) { if((i*7+j*4)==J_NUM) { printf("%d %d %d\n",i,j,J_NUM-i-j); } } } system("pause"); }