张佳易 发表于 2022-11-1 12:09:14

在线求路过各位,谁能用C语言写这个程序

一天,一位数学教授去同事家做客。他们坐在窗前聊天,从庭院中传来一大群孩子的嬉笑声。
教授就问:您有几个孩子?
主人:那些孩子不全是我的,那是四家人的孩子。我的孩子最多,弟弟的其次,妹妹的再次,叔叔的孩子最少。他们吵闹成一团,因为他们不能按每队九人凑成两队。可也真巧,如果把我们这四家孩子的数目相乘,积数正好是我们房子的门牌号 (三位),这个号码您是知道的。
教授:让我来试试把每一家孩子的数目算出来。不过要解这个问题,已知数据还不够。请告诉我,你叔叔的孩子是一个呢,还是不止一个?
于是主人回答了这个问题。客人听后,很快就准确地计算出了每家孩子的数目。
根据以上情况,请问如果你在不知道主人家门牌号和他叔叔家是否只有一个孩子的情况下,请你借助计算机编写程序求出毎家的孩子数目?(ps.C语言)

jackz007 发表于 2022-11-1 12:36:22

      这题已知条件太少,无法锁定答案。
1、4 家孩子不一样多
2、总人数按每队 9 人不能凑成 2 队,总数是 17
3、四家孩子数乘积是 3 位数

>>> 7 * 6 * 3 * 1
126
>>> 6 * 5 * 4 * 2
240
>>> 7 * 5 * 3 * 2
210
>>>

张佳易 发表于 2022-11-1 14:36:07

本帖最后由 张佳易 于 2022-11-1 14:37 编辑

可以发一下程序吗

jackz007 发表于 2022-11-1 15:21:51

张佳易 发表于 2022-11-1 14:36
可以发一下程序吗

      答案不固定,代码白写。

当初约定 发表于 2022-11-1 17:42:41

是我我直接暴力穷举{:10_256:}

张佳易 发表于 2022-11-1 23:25:07

#include<stdio.h>
#include<math.h>
int main()
{

        int a,b,c,n,N;
        for(c = 1;c<=2;c++)
        {
                for(b =c+1 ;b<=4;b++)
                {
                        for(a = b+1;a<=6;a++)
                        {
                                for(n = a+1;n<=11;n++)
                                {        N = a+b+c+n;
                                        if(100<=n*a*b*c&&n*a*b*c<=999&&N<18)
                                        {
                                                printf("%d*%d*%d*%d=%d\n",n,a,b,c,n*a*b*c);
                                               
                                        }
                               
                                }
                        }
                }
        }
       
       
       
}

张佳易 发表于 2022-11-1 23:32:27

结果是2,3,4,5   因为只有这个答案在知道门牌号的情况下,询问叔叔的孩子数可以直接得出一个精准答案(脑筋急转弯嘿嘿)
当然我这个程序结果是全部列出来没有挑选最后答案的,因为不会写~
页: [1]
查看完整版本: 在线求路过各位,谁能用C语言写这个程序