1.百钱百鸡问题
一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡,母鸡,小鸡各多少只?
#include <stdio.h>
int main(void)
{
int cock, hen, chicken;
for(cock = 0; cock < 21; cock++){
for(hen = 0; hen < 34; hen++){
for(chicken = 0; chicken < 100; chicken++){
if((cock+hen+chicken == 100)&&(5*cock+3*hen+chicken/3.0 == 100))
printf("%d %d %d\n", cock, hen, chicken);
}
}
}
return 0;
}
该算法需要穷举尝试72114次
经过简化
#include <stdio.h>
int main(void)
{
int cock, hen, chicken;
for(cock = 0; cock < 21; cock++){
for(hen = 0; hen < 34; hen++){
chicken = 100 - cock - hen;
if((cock+hen+chicken == 100)&&(5*cock+3*hen+chicken/3.0 == 100))
printf("%d %d %d\n", cock, hen, chicken);
}
}
return 0;
}
仅需714次