7.波瓦松的分酒趣题。法国著名数学家波瓦松青年时代研究过一个有趣的数学问题:
某人有12品脱的啤酒一瓶,想从中倒出6品脱
,但他没有6品脱的容器,仅有一个8品脱和一个5品脱的容器,
怎样倒才能将啤酒分为两个6品脱呢?
**输入格式要求:"%d%d%d%d"
提示信息:"Input Full a,Empty b,c,Get i:"
**输出格式要求:" a%d b%d c%d\n%4d%4d%4d\n"
"%4d%4d%4d\n"
代码如下:
#include <stdio.h>
int i;
main()
{ int a,y,z;
printf("Input Full a,Empty b,c,Get i:");
scanf("%d%d%d%d",&a,&y,&z,&i);
getti(a,y,z);
getti(a,z,y);
}
getti(a,y,z)
int a,y,z;
{int b=0,c=0;
printf(" a%d b%d c%d\n%4d%4d%4d\n",a,y,z,a,b,c);
while(a!=i||b!=i&&c!=i)
{if(!b)
{a-=y;b=y;}
else if(c==z)
{a+=z;c=0;}
else if(b>z-c)
{b-=(z-c);c=z;}
else {c+=b;b=0;}
printf("%4d%4d%4d\n",a,b,c);
}
}