中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买白鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买白鸡,问翁、母、雏各几何? C代码:
/*第五天、百元买百鸡*/
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
/*分别代表公鸡,母鸡,雏鸡,方案个数*/
int cock,hen,chick,i = 1;
for(cock = 0;cock <= 20;cock++) /*公鸡个数0~20*/
for(hen = 0;hen <= 33;hen++) /*母鸡个数0~33*/
for(chick = 3;chick <= 99;chick++) /*雏鸡个数3~99*/
{
if(5 * cock + 3 * hen + chick/3 == 100) /*钱数要求总共100元*/
{
if(cock + hen + chick == 100) /*个数要求总共100只*/
{
if(chick % 3 == 0) /*雏鸡的个数是3的倍数,因为雏鸡只能三个、三个的买*/
{
printf("方案%d:公鸡买%d,\t母鸡买%d,\t雏鸡买%d\n",i,cock,hen,chick);
i++;
}
}
}
}
system("pause");
}
结果显示:
python3.4.4代码:
i = 1
for cock in range(0,21): #range(0,21)表示0~20
for hen in range(0,34):
for chick in range(3,100):
if(5 * cock + 3 * hen + chick / 3 == 100):
if(cock + hen + chick == 100):
if(chick % 3 == 0):
print('方案%d:公鸡买%d,\t母鸡买%d,\t雏鸡买%d\n' % (i,cock,hen,chick))
i += 1
input() #防止一闪即逝,等待用户输入
显示结果: