三个孩子年龄相乘是36,将三个孩子的年龄从大到小输出的智力编程题

问题
一普查员问一位女士,“你有多少个孩子,他们多少岁?”女士回答:“我有三个孩子,他们的岁数相乘是36,岁数相加就等于隔离间屋的门牌号码.”普查员立刻走到隔邻,看了一看,回来说:”我还需要多少资料.”女士回答:“我现在很忙,我最大的孩子正在楼上睡觉.”普查员说:”谢谢,我己知道了
问题:那三个孩子的岁数是多少?
思路(引用)

  1. 首先考虑将36分解成三个因子相乘,及获取不重复排列。
  2. 岁数相加是门牌号,普查员此时是能看到门牌号的,但是此时并不能得到结果,那么说明问题的解,存在于多组和相等的门牌号中。
  3. 最大的孩子在睡觉,能得到结果,可得知,上面求得的多组和相等的排列中,排列中有且只有一个最大值。该排列从大到小输出,就是问题的解。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int n=36;
    int a[20][3];
    int flag=0;

    in
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值