今天又做了一道类似百钱百鸡的问题,题目是这样说的:用100元买100支笔,铅笔0.5元一支,园珠笔2元一支,钢笔3元一支,请问共有几种组合方法。
这道题共有3种解法:
解法1:用3个for循环(一点不动脑子的做法)
for(i = 0; i < 100; i++){//pencil num
for(j = 0; j < 100; j++){//ballpen num
for(k = 0; k < 100; k++){//pen num
if(i + j + k == 100 && i * 0.5 + j * 2 + k * 3 == 100){//condition
printf("pencil: %d, ballpen: %d, pen: %d\n", i, j, k);
}
}
}
}
//共循环1000000次
解法2:用2个for循环(动一点脑子的做法)
for(i = 0; i < 100; i++){//pencil num
for(j = 0; j < 100; j++){//ballpen num
k = 100 - i - j;
if(k >= 0 && i * 0.5 + j *
这道题共有3种解法:
解法1:用3个for循环(一点不动脑子的做法)
for(i = 0; i < 100; i++){//pencil num
for(j = 0; j < 100; j++){//ballpen num
for(k = 0; k < 100; k++){//pen num
if(i + j + k == 100 && i * 0.5 + j * 2 + k * 3 == 100){//condition
printf("pencil: %d, ballpen: %d, pen: %d\n", i, j, k);
}
}
}
}
//共循环1000000次
解法2:用2个for循环(动一点脑子的做法)
for(i = 0; i < 100; i++){//pencil num
for(j = 0; j < 100; j++){//ballpen num
k = 100 - i - j;
if(k >= 0 && i * 0.5 + j *