首页 > 其他分享 >马克思手稿中的数学题

马克思手稿中的数学题

时间:2023-05-15 18:55:21浏览次数:39  
标签:方程 小孩 方程组 30 马克思 数学题 手稿 先令 不定

1.问题描述
马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,他们在同一家饭馆吃饭,总共花了50先令。已知每个男人吃饭需要花3先令,每个女人吃饭需要花2先令,每个小孩吃饭需要花1先令,请编程求出男人、女人和小孩各有几人。
2.问题分析
根据该问题的描述,可将该问题抽象为一个不定方程组。
设变量x、y和z分别代表男人、女人和小孩,则由题目的要求,可得到如下的方程组:

                 x+y+z=30                                                          ①                 

                 3x+2y+z=50                                                      ②

其中方程①表示男人、女人和小孩加起来总共有30个人。方程②表示30个人吃饭总共花了50先令。
用方程②-方程①,可得:
2x+y=20 ③
由方程③可知,x取值范围为[0,10]。
3.算法设计
在问题分析中,我们抽象出了一个不定方程组,显然得到了不定方程组的解,该问题也就解决了。但不定方程组中包含了x、y、z这3个变量,而方程只有两个,因此不能直接求出x、y、z的值。
而由方程③,我们得到了x的取值范围,因此可将x的有效取值依次代入不定方程组中(即方程①、②和③)中,能使3个方程同时成立的解即为该问题的解。为实现该功能,只需使用一个for循环语句即可。

4.程序流程图

5.源代码

#include<stdio.h>
int main()
{
  int x,y,z,number=0;
  printf("   Men Wonmen Children\n");
  for(x=0;x<=10;x++)
{
  y=20-2*x;
  z=30-x-y;
  if(3*x+2*y+y+z==50)
       printf("%2d:%4d%5d%6d\n",++number,x,y,z);
}
}

 

标签:方程,小孩,方程组,30,马克思,数学题,手稿,先令,不定
From: https://www.cnblogs.com/tianpeisen/p/17402809.html

相关文章

  • 20.马克思手稿中的数学题
       #include<stdio.h>intmain(){intx,y,z,number=0;printf("MenWomenChildren\n");for(x=0;x<=10;x++){y=20-2*x;z=30-x-y;if(3*x+2*y+z==50)printf("%2d:%4d%5d%6d\n",++number,x,y,z);}return0;}......
  • 2.10 马克思手稿中的数学题
    马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,他们在同一家饭馆吃饭,总共花了50先令。已知每个男人吃饭需要花3先令,每个女人吃饭需要花2先令,每个小孩吃饭需要花1先令,请编程求出男人、女人和小孩各有几人。解答#include<stdio.h>intmain(){intx,y,z,n......
  • 爱因斯坦的数学题
    1.问题描述爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问在1~N内,有多少个数能满足?2.问题分析根据题意,用变量x表示阶梯数,则阶梯数x应......
  • 2.7 爱因斯坦的数学题
    第一部曲:思路:通过枚举每个数,在一到n范围内循环,如果满足条件就记录下来,然后输出,循环结束之后输出个数。第二部曲:  第三部曲:while(scanf("%d",&n)!=EOF)//处理到文件尾 { intsum=0; for(x=1;x<=n;x++) { if(x%7==0)//判断是否满足条件 { if(x%6==5) { if(x%5=......
  • 2.10马克思手稿中的纯数学题
    1.问题描述马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,他们在同一家饭馆吃饭,总共花了50先令。已知每个男人吃饭需要花3先令,每个女人吃饭需要花2先令,每个小孩吃饭需要花1先令,请编程求出男人、女人和小孩各有几人。2.#include<stdio.h>intmain(){ intx,y,z; ......
  • 爱因斯坦的数学题
    1.问题描述爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问在1~N内,有多少个数能满足?2.问题分析根据题意,用变量x表示阶梯数,则阶梯数x应该满......
  • 2.7 爱因斯坦的数学题
    #include<stdio.h>intmain(intt,a[5];/*数组a存放分解后的5个数字*/longintk,i;/*以95860为初值,循环试探*/for(i=95860;;i++)/*从高到低分解当前i中保存的五位数,并顺次存放在数组元素a[01~a[4]中*/for(t-0,k=100000;k>-10;t++)a[t]=(i8k)/(k/10);/*保存分解后的数......
  • 爱因斯坦的数学题
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>intmain(){ intN,sum,i;/* while(scanf("%d",&N)!=EOF)*/ while(scanf("%d",&N)!=0) //输入N值,若N不是文件结束符则执行循环体 { sum=0; printf("在1-N中有:"); for(......
  • 马克思手稿中的数学题
    一、问题描述   马克思手稿中有这样一道趣味数学题:有30个人,其中有男人,女人,小孩,他们在同一家饭店吃饭,总共花了50先令,已知每个男人吃饭需要花3先令,每个女人吃饭需要花2先令,每个小孩吃饭需要花1先令,请编程求出男人、女人和小孩各有几人。二、设计思路    三次循环就可以解......
  • 2.10马克思手稿的数学题
    1.题目描述:有三十个人,其中有男人女人和小孩,他们在同一家饭馆吃饭,总共花了50先令。已知男人吃饭需要3先令,女人吃饭需要2先令,小孩吃饭需要花1先令,求有多少个男人女人小孩;源代码:#include<iostream>usingnamespacestd;intmain(){ for(inti=0;i<17;i++) { for(intj=......