05.四.1 和是135,且按照从小到大的顺序,后面一个 数是前面一个数的整数倍,编写程序求这5个数

/*
05.四.1 有5个各不相同的正整数,他们的和是135,且按照从小到大的顺序,后面一个
数是前面一个数的整数倍,编写程序求这5个数

*/

#include <stdio.h>

int main()
{
    int x1,x2,x3,x4,x5;
    for ( x1=1;x1<131;x1++)
    {
        for ( x2=x1+1;x2<131;x2++)
        {
            for(x3=x2+1;x3<131;x3++)
            {
                for(x4=x3+1;x4<131;x4++)
                {
                    for(x5=x4+1;x5<131;x5++)
                    {
                        if(x1+x2+x3+x4+x5==135 && x2%x1==0 && x3%x2==0 && x4%x3==0 && x5%x4==0 )
                        {
                            printf("135= %d+%d+%d+%d+%d\n",x1,x2,x3,x4,x5);
                        }
                    }
                }
            }
        }
    }
    return 0;
}

/*
思路二
分析:这一题既然每个数都是第一个数的整数倍,则和必然也是第一个数的整数
倍,所以可以先对135作因式分解:135=5*3*3*3所以第一个数是3或者5或者9
(由于5个数各不相同,所以很容易排除第一个数是15和27,45,135的可能),
之后就是把135除以第一个数之后的数字拆成5个不同的整数(第一个整数为1)
之和。
(1) 第一个数为3,打印出和为45的所有5个不同的正整数组合
(2) 第一个数为5,打印出和为27的所有5个不同的正整数组合
(3) 第一个数为9,打印出和为15的所有5个不同的正整数组合,这个只有一组,就是1,2,3,4,5。对应的5个正整数为9,18,27,36,45

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值