41.馬克思手稿中的數(shù)學(xué)題
馬克思手稿中有一道趣味數(shù)學(xué)問(wèn)題:有30個(gè)人,其中有男人、女人和小孩,在一家飯館吃飯花了50先令;每個(gè)男人花3先令,每個(gè)女人花2先令,每個(gè)小孩花1先令;問(wèn)男人、女人和小孩各有幾人?
*題目分析與算法設(shè)計(jì)
設(shè)x,y,z分別代表男人、女人和小孩。按題目的要求,可得到下面的方程:
x+y+z=30 (1)
3x+2y+z=50 (2)
用方程程序求此不定方程的非負(fù)整數(shù)解,可先通過(guò)(2)-(1)式得:
2x+y=20 (3)
由(3)式可知,x變化范圍是0~10
*程序說(shuō)明與注釋
#include
void main()
{
int x,y,z,count=0;
printf(" Men Women Children\n");
printf("........................................\n");
for(x=0;x<=10;x++)
{
y=20-2*x; /*x定值據(jù)(3)式求y*/
z=30-x-y; /*由(1)式求z*/
if(3*x+2*y+z==50) /*當(dāng)前得到的一組解是否滿足式(2)*/
printf(" %2d: %d %d %d\n",++count,x,y,z);
}
}
馬克思手稿中有一道趣味數(shù)學(xué)問(wèn)題:有30個(gè)人,其中有男人、女人和小孩,在一家飯館吃飯花了50先令;每個(gè)男人花3先令,每個(gè)女人花2先令,每個(gè)小孩花1先令;問(wèn)男人、女人和小孩各有幾人?
*題目分析與算法設(shè)計(jì)
設(shè)x,y,z分別代表男人、女人和小孩。按題目的要求,可得到下面的方程:
x+y+z=30 (1)
3x+2y+z=50 (2)
用方程程序求此不定方程的非負(fù)整數(shù)解,可先通過(guò)(2)-(1)式得:
2x+y=20 (3)
由(3)式可知,x變化范圍是0~10
*程序說(shuō)明與注釋
#include
void main()
{
int x,y,z,count=0;
printf(" Men Women Children\n");
printf("........................................\n");
for(x=0;x<=10;x++)
{
y=20-2*x; /*x定值據(jù)(3)式求y*/
z=30-x-y; /*由(1)式求z*/
if(3*x+2*y+z==50) /*當(dāng)前得到的一組解是否滿足式(2)*/
printf(" %2d: %d %d %d\n",++count,x,y,z);
}
}

