蛮力算法找出4样东西的价格算法实现

   题目描述:在美国有一个连锁店叫7-11店,因为这个商店以前常常是早晨7点开门,晚上11点关门。有一天,一个顾客在这个店里挑了四样东西,然后到收银台去交钱。营业员拿起计算器,按了一些键,然后说道:“总共是$7.11。”这个顾客开了个玩笑说:难道你们的店名叫7-11,所以我就要付$7.11吗?”营业员没听出这是个玩笑,回答说:“当然不是的!我已经把这四样东西的价格相乘才得出这个结果的!”顾客一听非常吃惊,“你怎么把它们相乘呢?你应该把他们相加才对嘛。”营业员答道:“哦,对了,真是抱歉,我今天非常头疼,所以把键按错了。”然后营业员将结果重算了一遍,将这4件商品的价格加在一起,然而,令他们俩更吃惊的是总和也是$7.11。设计蛮力算法找出这4样东西的价格各是多少? 

#include<iostream>
using namespace std;
int main()
{

    int total=711;//统一扩大100倍,商品价格直接++
    double  x1,x2,x3,x4;
    int num=0;
    for(x1=0;x1<total;x1++)//默认每个商品最低0.00元
    {
        for(x2=0;x2<total-x1;x2++)
        {
            for(x3=0;x3<total-x1-x2;x3++)
            {
                x4=total-x1-x2-x3;
                num++;
                if((x1*x2*x3*x4)==total*100*100*100&&(x1+x2+x3+x4)==total)//每个商品价格都扩大了100倍,total一共扩大了100的4次方
                {
                    cout<<"x1="<<x1/100<<"$    x2="<<x2/100<<"$    x3="<<x3/100<<"$    x4="<<x4/100<<"$"<<endl;
                    cout<<"一共运行:"<<num<<"次"<<endl;;
                    return 0;
                }
            }
        }
    }
    cout<<"没有找到合适的商品价格"<<endl;
	return 0; 
}

代码运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值