当前位置: 首页 > wzjs >正文

网站建设大概价格阳江招聘网最新招聘信息网美容框

网站建设大概价格,阳江招聘网最新招聘信息网美容框,建设网站那个公司好,如果做二手车网站‌“学如逆水行舟,不进则退。”‌ ——《增广贤文》 目录 汽水瓶 题目:解答分析:js代码解答 -ACM模式:代码通过:题解分析:简洁思路代码: 汽水瓶 题目: 某商店规定:三个空…

‌“学如逆水行舟,不进则退。”‌ ——《增广贤文》

目录

  • 汽水瓶 题目:
  • 解答分析:
  • js代码解答 -ACM模式:
  • 代码通过:
  • 题解分析:
  • 简洁思路代码:

汽水瓶 题目:

某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。
小张手上有 n 个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。
输入描述:
本题将会给出 1<=T <=10 组测试数据,确切数字未知,您需要一直读入直到特定的结尾。每组测试数据描述如下:在一行上输入一个整数 n (0 <= n <=100) ,代表小张手上的空汽水瓶数量。特别地,n=0 代表输入结束,您只需要立即退出,不需要针对这种情况进行处理。
输出描述:
对于每一组测试数据,新起一行。输出一个整数,代表小张最多可以喝到的汽水数量。
示例1:
输入例子:
3
10
81
0
输出例子:
1
5
40
例子说明:
对于第一组测试数据,共有 3 个空瓶,可以换 1 瓶汽水。可以证明无法再做任何兑换,因此最多可以喝到 1 瓶汽水。

对于第二组测试数据:

  • 第一轮兑换,共有 10 个空瓶。可以换 3 瓶汽水,余下 1 个空瓶;
  • 第二轮兑换,刚刚余下 1 个空瓶、加上刚刚兑换的 3 瓶汽水喝完,共有 4 个空瓶。可以换 1 瓶汽水,余下 1 个空瓶;
  • 第三轮兑换,刚刚余下 1 个空瓶、加上刚刚兑换的 1 瓶汽水喝完、再找老板借 1 个空瓶,共有 3 个空瓶。可以换 1 瓶汽水,余下 0 个空瓶。喝完之后不要忘记归还借的空瓶。
  • 综上,一共可以喝到 3+1+1=5 瓶汽水。

解答分析:

可以用来换的瓶子是 总瓶子 / 3 的值,那么现在手里的瓶子就是 没换的瓶子(余数)+ 换来的瓶子。我们进行循环处理直到最后剩下两个瓶子的时候可以借老板一个瓶子,三个瓶子换一瓶汽水,喝完还给老板。而剩下的瓶子小于两瓶的话不做处理。

js代码解答 -ACM模式:

不懂nodejs的readline请点击跳转 – readline模块详解【Node.js】 作者:幸运小圣

 const readline = require('readline');const rl = readline.createInterface({input:process.stdin,output:process.stdout,});function calculateBottles(val) {let totalBottles = 0;while (val >= 3) {let newBottles = Math.floor(val / 3);totalBottles += newBottles;val = val % 3 + newBottles;}if(val == 2){totalBottles += 1;}return totalBottles;
}
async function processInput(){for await (const line of rl){let val = Number(line);if(val == 0){break;}if(val > 2){console.log(calculateBottles(val));}rl.close();}
}
processInput();

代码通过:

在这里插入图片描述

题解分析:

每次兑换后,都会产生新的空瓶(即喝掉的汽水瓶)。
这些新的空瓶又可以继续兑换,直到空瓶数不足以再兑换为止。
通过观察或数学归纳,我们可以发现一个规律:在允许借瓶的条件下,最多可以喝到的汽水数量大致等于初始空瓶数的一半(当n较大时,这个近似更加准确)。

‌为什么等于总瓶子除以2‌:

  • 这是因为每次兑换都会“消耗”3个空瓶,但“产生”1瓶汽水(即1个新的空瓶)。
  • 从长期来看,每2个空瓶(加上借的1个空瓶)可以“变成”1瓶汽水。
  • 因此,在大量兑换的情况下,最多可以喝到的汽水数量趋近于初始空瓶数的一半。

简洁思路代码:

const readline = require('readline');
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });async function processInput () {for await (const line of rl) {let val = Number(line);if (val === 0) {break;}let maxBottles = Math.floor(val / 2);console.log(maxBottles);rl.close();}
}processInput();
http://www.dtcms.com/wzjs/540906.html

相关文章:

  • 做网站都有跳转链接济南机场建设
  • 宁波网站建设哪家强百度做的网站迁移
  • 使用php做的网站有哪些百度热搜大数据
  • 不写代码门户网站建设app开发哪家公司比较专业
  • 如何创立网站百度h5游戏中心
  • 推荐10个优秀的国外ui设计网站华泰保险公司官方网站
  • 中国建设银行上海分行信息网站公司网站自己可以学习优化吗
  • 做设计的分析图网站有哪些wordpress魔方
  • 青岛社保网站官网登录梦幻西游网页版礼包码
  • 做网站 前途国外免费网站建设
  • 局机关门户网站建设自查报告范文wordpress 防ddos
  • 公司网站的开发策略我要浏览国外网站怎么做
  • 网站建设有哪些荣誉word上下页纸张方向
  • 城市建设者官方网站笑傲网站建设
  • 网站建设维护保密协议书word超链接网站怎么做
  • 500元做网站网站转载代码
  • 做网站开发 用什么网站怎样添加友情链接
  • 阿里云二级域名建设网站贵州贵阳网站开发
  • 电子商务网站建设 故宫官网wordpress 文章导入
  • 做今网站vs2010网站开发 SQL
  • 网站建设视频教程php北京网站搭建服务商
  • 网站开发 商标第几类北京高端网站建设规划
  • 微芒网站建设律师行业网站建设
  • 南阳旅游网 网站设计深度苏州自媒体公司
  • 重庆网站建设公司下载如何制作一个手机网站源码
  • 机械网站建设中心做电脑网站与手机上的一样吗
  • 自己做动画网站网站建设网络营销平台 云搜系统
  • php自己写框架做网站菏泽做网站建设找哪家
  • 重庆网站建设咨询金坛网站建设哪家好
  • 网上做打字任务的网站网络营销是什么专业