html中js计算百钱百鸡,【JS】百钱白鸡-经典算法

100 文 去买100只鸡 每种鸡都必须有

公鸡 5文/只 母鸡3文/只 小鸡1文/3只

// 时间复杂度 100*100*100

// let x,y,z ;

// for(x =1 ;x <100; x ++){

// for(y =1 ;y <100; y ++){

// for(z = 1; z<100; z ++){

// if(x *5 +y *3 + z/3 === 100 && x+y+z === 100){

// console.log(`公鸡 ${x} 只,母鸡 ${y} 只,小鸡 ${z} 只,`);

// }

// }

// }

// }

//进行优化 时间复杂度 100*100

// let x,y,z ;

// for(x =1 ;x <100; x ++){

// for(y =1 ;y <100; y ++){

// z = 100 - x -y ;

// if(x *5 +y *3 + z/3 === 100 && x+y+z === 100){

// console.log(`公鸡 ${x} 只,母鸡 ${y} 只,小鸡 ${z} 只,`);

// }

// }

// }

//在做一些优化 事件复杂度 20 * 33

for (var x = 1 ; x <= 20; x++){ //公鸡最多能买20只

for(var y = 1; y<=33; y++){ //母鸡最多只能买33只

var z = 100 - x - y; //小鸡的数量可通过计算得出

if((x+y+z==100)&&(x*5+y*3+z/3==100)){

console.log('公鸡、母鸡、小鸡的数量分别是:'+x+','+y+','+z+'
');

}

}

};

//在进行优化

/**

* x +y +z = 100 公式1

* 5x +3y+z/3 = 100 公式2

* 公式2 *3

* 15x +9y +z = 300 公式3

* 公式3 -公式1

* 14x +8y = 200 公式4

*

* 公式4 除以2

* 7x +4 y = 100

* 7x/4 +y = 25

*

* 设k = x/4

* 7k + y = 25

*

* y = 25-7k

* x = 4k

* z = 100- 25+7k -4k = 75+3k

*

* x <100 ,y <0 ,z <100

* k <25 k<4 k< 25/3

*

* 时间复杂度12次

*/

// let x, y, z

// for(let k =1 ;k< 4;k ++){

// x = 4*k;

// y = 25-7*k;

// z = 75 +3*k

// if(x +y +z === 100 && 5*x +3*y +z/3 === 100){

// console.log(`公鸡 ${x} 只,母鸡 ${y} 只,小鸡 ${z} 只,`);

// }

// }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值