【JavaScript——牛客网算法No.HJ22】汽水瓶(三个空汽水瓶可以换一瓶汽水,问。。。

阅读: 评论:0

【JavaScript——⽜客⽹算法No.HJ22】汽⽔瓶(三个空汽⽔瓶可以换⼀瓶汽
⽔,问。。。
@No.HJ22 汽⽔瓶
@problem description:
有这样⼀道智⼒题:“某商店规定:三个空汽⽔瓶可以换⼀瓶汽⽔。⼩张⼿上有⼗个空汽⽔瓶,她最多可以换多少瓶汽⽔喝?”答案是5瓶,⽅法如下:先⽤9个空瓶⼦换3瓶汽⽔,喝掉3瓶满的,喝完以后4个空瓶⼦,⽤3个再换⼀瓶,喝掉这瓶满的,这时候剩2个空瓶⼦。然后你让⽼板先借给你⼀瓶汽⽔,喝掉这瓶满的,喝完以后⽤3个空瓶⼦换⼀瓶满的还给⽼板。如果⼩张⼿上有n个空汽⽔瓶,最多可以换多少瓶汽⽔喝?
@input description:
输⼊⽂件最多包含10组测试数据,每个数据占⼀⾏,仅包含⼀个正整数n(1<=n<=100),表⽰⼩张⼿上的空汽⽔瓶数。n=0表⽰输⼊结束,你的程序不应当处理这⼀⾏。
@output description:
对于每组测试数据,输出⼀⾏,表⽰最多可以喝的汽⽔瓶数。如果⼀瓶也喝不到,输出0。
⽰例
@input:
3
草率的爆破10
81
@output:
1
5
40
今天写完这个算法打开排⾏榜⼀看,欧呦?居然是第⼀❀
果然代码才能使我真正的快乐,哈哈哈嗝~
3d蓝光播放器
// ⽅法⼀:
while(num =readline()){
console.log(~~(num /2))
}
算法分析:
没错,真⼀⾏,我感觉这应该是最简单的⽅案了,挑战全⽹没有之⼀
最后结果总是等于:空瓶⼦数除以2的结果向下取整。
其实我第⼀次解题⽤的是第⼆种写法,这个⽅案是我分析每次代码的结果后总结出来的,我真是个⼩机灵⿁~
每次结果都跟最开始的空瓶⼦数的⼀半有关嗯??
也对,每次兑换都是先减去三个,然后再加上⼀个,也就等价于两个空瓶⼦可以喝⼀瓶。
Code_Zevin_J —— 2020-08-26 21:29:55
悠悠球轴承再贴出来我第⼀次的代码吧,再正常不过的逻辑(最笨的算法,呜呜呜~)
// ⽅法⼆:
while(num =readline()){
var result =0;
盆角齿while(num >2){
result +=~~(num /3)
双面斜纹布num = num %3+~~(num /3)
}
console.log(num ===2? result +1: result)
}
算法分析:
这道实际应⽤题的核⼼就是⼀个while循环:
当剩余空瓶⼦数量(num)⼤于2的时候就继续执⾏循环:
每次循环都先兑换⼀波空瓶⼦:~~(num / 3) ,空瓶⼦数除以3后结果向下取整,结果累加到result中;
现在剩下的空瓶⼦数量就包括两部分:兑换剩下的空瓶⼦和兑换来的阔落喝掉后新产⽣的;
滚珠丝杠电动推杆跳出循环后,在输出的时候还需要注意最后⼀个条件:
剩余空瓶⼦数恰巧有两个时,居然可以和⽼板借⼀个空瓶⼦,哈哈,⽼板好⼈~
所以⼀个三⽬运算符搞定~
Code_Zevin_J —— 2020-08-26 21:29:55

本文发布于:2023-05-18 08:31:06,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/104265.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:结果   空瓶   兑换
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图