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

C语言基础题:吃冰棍(C语言版)

1.题目描述


机器猫喜欢吃冰棍。
买一根冰棍,吃完了会剩一个木棒;每三个木棒可以兑换一个冰棍。兑换出来的冰棍,吃完之后也能剩下一个木棒。
所以,如果机器猫买了5根冰棍,他可以吃完之后得到5个木棒;拿3个木棒兑换1根冰棍,余2个木棒;吃完兑换来的冰棍之后,手上有3个木棒,又能兑换一个冰棍。最后,机器猫实际上吃了7个冰棍。
机器猫想要吃到 几 个冰棍,想问最开始至少需要去买多少根冰棍?

2.输入格式


仅一行,一个正整数,表示 n。

3.输出格式


仅一行,一个正整数,表示需要买的冰棍数量。

4.输入输出样例

输入1:
7
输出1:
5
输入2:
20
输出2:
14

5.说明/提示


数据规模与约定
对于 100% 的数据,1 <n< 100000000.

代码:

#include <stdio.h>int main() {long long n;scanf("%lld", &n);long long left = 0, right = n; // 最少0根,最多n根long long result = n;while (left <= right) {long long mid = left + (right - left) / 2;long long totalIceCreams = mid; // 起始购买的冰棍数量long long sticks = mid; // 吃完后剩下的木棒// 计算可以吃到多少冰棍while (sticks >= 3) {long long newIceCreams = sticks / 3;totalIceCreams += newIceCreams;sticks = sticks % 3 + newIceCreams; // 剩下的木棒加上新的木棒}if (totalIceCreams >= n) {result = mid; // 可以满足条件,记录结果right = mid - 1; // 尝试更少的冰棍} else {left = mid + 1; // 需要更多的冰棍}}printf("%lld\n", result);return 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Android笔试面试题AI答之Activity常见考点
  • AI智能测评应用平台项目分享
  • 数值分析——埃尔米特(Hermit)插值
  • Apple在Swift中引入同态加密
  • Stable Diffusion 官方模型V1.5版本下载
  • LLM - 理解 主流大模型 LLM 使用 Decoder Only 架构 (8点)
  • 回顾前面刷过的算法(4)
  • HanLP和Jieba区别
  • 单元测试JUnit
  • eslint配置忽略目录和文件
  • 国内开源软件镜像站点参考
  • 【STL】String的底层构造
  • Executable Code Actions Elicit Better LLM Agents
  • 国球荣耀背后的笑与泪——陈梦夺冠现象有感
  • 银河麒麟V10 审计工具 auditd 内存泄漏问题
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • Docker容器管理
  • go append函数以及写入
  • Java知识点总结(JavaIO-打印流)
  • js 实现textarea输入字数提示
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Sublime Text 2/3 绑定Eclipse快捷键
  • vue学习系列(二)vue-cli
  • win10下安装mysql5.7
  • 初识 webpack
  • 好的网址,关于.net 4.0 ,vs 2010
  • 深入浅出Node.js
  • 使用common-codec进行md5加密
  • 算法---两个栈实现一个队列
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • ​MySQL主从复制一致性检测
  • # 透过事物看本质的能力怎么培养?
  • ${factoryList }后面有空格不影响
  • %check_box% in rails :coditions={:has_many , :through}
  • (1)STL算法之遍历容器
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (Qt) 默认QtWidget应用包含什么?
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (五)MySQL的备份及恢复
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .net 受管制代码
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .net打印*三角形
  • .NET与 java通用的3DES加密解密方法
  • .NET中GET与SET的用法
  • @angular/cli项目构建--http(2)
  • @DataRedisTest测试redis从未如此丝滑
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • [APIO2015]巴厘岛的雕塑
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)