例4.1 面包与客人问题
创始人
2025-05-29 13:16:54
0

赫洛伊丝正在计划一次聚餐,她准备了84个小面包。虽然聚餐时她自己不吃,但她总是准备恰好足够数量的小面包,使每个客人分到的数量正好相同。她邀请的客人数量有哪些可能?

我的解法:

一、信息

  1. 一共84个面包

  1. 他总备好了足够数量的面包使得每个客人分到的数量刚好

  1. 本题的最终目标是求出他邀请的客人数量有哪些?

二、分析

  1. 问题1告诉我面包的总数

  1. 问题2我们可以用抽象的方法把问题用转换的思想转化为整除问题,如果客人分到的面包数量正好相同等价于客人的数量正好整除面包的数量,那么问题就变成了能整除84有多少个数,就有多少个客人。

三、步骤

1.我的想法是对84进行因式分解,84=2*2*21(这里写错了没有把21再分解应该是1*2*2*3*7)再通过枚举法筛除重复的,得到答案2,4,21,42,84客人的数量有上诉的可能。

正确答案:

分析:

表面上看起来,这像个代数问题,并可按照代数列式如下:

令x=赫洛伊丝邀请的客人数目,

令y=每位客人分到的小面包数目

于是得到——xy=84.

这个方程有许多组解;事实上,有无穷多组解。选择每个非零的x值,会令y=84/x即得一组解。例如x=5,y=就是方程的一组解;

x=-2,=-42 同样也是。但这两组解都不符合题目要求。客人不能吃分数个小面包,容人的数目也不可能是负数。也就是说,为了解决例题4.1,我们只考虑x和,-都是正整数的解。显然*=1,1=84是一个解,

5=2,y=42是另一个解。还有更多的解吗?如果有,我们如何确保找到了所有的解?在我们尝试回答之前,先观察例题 4.2我们遇到了类似的情况。

正确答案:

1、2、3、4、6、7、12、14、21、28、42 和 84。

扩展:

这个问题其实就是C语言中的因式分解问题

扩展:

问题能否通过程序写出当面包数为n时客人的数量?

显然是可以的这就是常见的C语言因式分解问题

我的解法:

C语言法:

#include 
int main() 
{int n;printf("请输入一个整数n:");scanf("%d", &n);printf("%d的因数有:", n);for (int i = 1; i <= n; i++) //把1到n都遍历一遍即枚举法
{if (n % i == 0) //如果能整除n那么输出{printf("%d ", i);}
}printf("\n");return 0;
}

反思:

(1)本人因式分解的时候没有分解完全,以后要多加注意了,反映了本人思维的不严谨,以后做出答案都要验算一遍

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...