两数A,B公约数CC=AA=1)A%C==0 AND B%C==0C-- 1.5算法思考题
(1)钞票换硬币:把一元钞票换成一分、二分、五分硬币(每种至少一枚),有哪些种换法? 分析:1元相当于100分,设5分、2分、1分的硬币数分别为X、Y、Z,求换法就是在寻找这样一种组合,使得5*X+2*Y+Z =100,所以每当找到1种组合时,将个数记录下来,就可知换法有多少种,算法描述如下:
Count = 0; //用于记录个数,初始为0 for(X=1;X<=20;X++) for(Y=1;Y<=50;Y++) for(Z=1;Z<=100;Z++) {
if(5*X + 2*Y + Z == 100) //可实现交换 Count ++; }
输出Count
(2)百钱买百鸡:一只公鸡值5元,一只母鸡值3元,3只小鸡值1元,现用一百元要买一百只鸡,问有什么方案?
分析:由题意可知,假设公鸡、母鸡、小鸡分别有X、Y、Z只,那么X、Y、Z满足:X+Y+Z=100,而且要满足钱数限定:5*X+3*Y+1/3*Z = 100,由于3只小鸡1元钱,所以小鸡的个数必须是3的整数倍,即:Z是3的整数倍。可通过限制条件,筛选出满足