华为ID机试 -- 分糖果 E100

embedded/2024/11/19 11:48:01/

题目描述

小明从糖果盒中随意抓一把糖果,每次小明会取出一半的糖果分给同学们。

当糖果不能 平均分配只时,小明可以选择从糖果盒中(假设盒中糖果足够)取出一个糖果或放回一个糖果。

小明最少需要多少次(取出、放回和平均分配均记一次),能将手中糖果分至只剩一颗。

输入描述

抓取的糖果数(n < 10000000000)

输出描述

最少分至一颗糖果的次数

示例

输入

15

输出

5

说明

1.15+1=16;

2.16/2=8;

3.8/2=4;

4.4/2=2;

5.2/2=1;

题解

  • 如果末位不等于0, 说明为偶数,不需要拿或者放
  • 如果倒数第二位为 0 则减去一次可以消除至少两位
  • n ≥ \geq 3
    • n = = = 3 的时候,减一需要分一次即可, 加一需要分两次,选择减一
    • 其它说明有多个1 , 增加一个可以消除多个1 ,使拿糖果的次数降为最少

源码Java

public class DivCandy {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int div = 0;while (n > 1) {// 如果末位不等于0, 说明为偶数,不需要拿或者放if ((n & 1) == 0) {n = n >> 1;} else if ((n & 2) == 0) {// 如果倒数第二位为 0  则减去一次可以消除至少两位n = n - 1;} else {// n 等于 3 的时候,减一位分一次可以为0if (n == 3) {n = n - 1;} else if ( n > 3 ) {// 其他情况说明有多个1 , 增加一个可以消除多个1 ,使拿去糖果的次数降为最小n += 1;}}div++;}System.out.println(div);}
}

http://www.ppmy.cn/embedded/138756.html

相关文章

ChatGPT:编程的 “蜜糖” 还是 “砒霜”?告别依赖,拥抱自主编程的秘籍在此!

在当今编程界&#xff0c;ChatGPT 就像一颗耀眼却又颇具争议的新星&#xff0c;它对编程有着不可忽视的影响。但这影响就像一把双刃剑&#xff0c;使用不当&#xff0c;就可能让我们在编程之路上“受伤”。 一、过度依赖 ChatGPT 编程&#xff1a;黑暗深渊里的重重危机 1、个…

室内定位论文精华-无人机与机器人在地下与室内环境中的自主导航与定位新技术

天文导航算法在低成本视觉系统中的应用 关键词 天文导航;自主无人机;GNSS拒止环境;稳定成像系统;星图识别;姿态估计;位置估算 研究问题 现代无人驾驶飞行器(UAV)中,很少使用天文学导航技术。传统的天文学导航依赖于稳定的成像系统,这不仅体积大且重量重,难以满足…

arkUI:设置随机颜色背景

arkUI&#xff1a;设置随机颜色背景 1 主要内容说明2 相关内容2.1 设置随机颜色背景2.1.1 源码1的相关说明2.1.2 源码1 &#xff08;设置随机颜色背景&#xff09;2.1.3 源码1运行效果 3.结语4.定位日期 1 主要内容说明 本文代码实现了一个展示随机颜色的页面&#xff0c;主要…

kubeadm安装k8s

kubeadm安装k8s 环境配置 主节点 k8s-master :4核8G、40GB硬盘、CentOS7.9 从节点 k8s-node1: 4核8G、40GB硬盘、CentOS7.9 从节点 k8s-node2: 4核8G、40GB硬盘、CentOS7.9 初始化配置 关闭selinux、swap # 关闭 Selinux:防止服务可能无法启动(企业中基本上都会选择关闭)…

【鸿蒙开发】第十九章 Media媒体服务 --- 音频播放和录制

目录 1 AVPlayer音频播放 1.1 开发步骤及注意事项 1.2 完整示例 2 SoundPool音频播放 2.1 开发步骤及注意事项 2.2 完整示例 3 AVRecorder音频录制 3.1 开发步骤及注意事项 3.2 完整示例 4 音视频元数据获取 4.1 开发步骤及注意事项 4.2 完整示例 1 AVPlayer音频播…

Fisher矩阵和Hessian矩阵的关系:证明Fisher为负对数似然函数的Hessian的期望

证明Fisher等于Expectation of Hessian of Negative log likelihood. 符号约定 f θ ( ⋅ ) f_{\theta}(\cdot) fθ​(⋅): 概率密度 p ( x ∣ θ ) p θ ( x ) ∏ i N f θ ( x i ) p(x|\theta) p_{\theta}(x) \prod\limits_i^N f_{\theta}(x_i) p(x∣θ)pθ​(x)i∏N​…

Debezium-EmbeddedEngine

提示&#xff1a;一个嵌入式的Kafka Connect源连接器的工作机制 文章目录 前言一、控制流图二、代码分析 1.构造函数2.完成回调3.连接器回调4.RUN总结 前言 工作机制&#xff1a; * 独立运行&#xff1a;嵌入式连接器在应用程序进程中独立运行&#xff0c;不需要Kafka、Kafka C…

Docker:技术架构的演进之路

前言 技术架构是指在软件开发和系统构建中&#xff0c;为了满足业务需求和技术要求&#xff0c;对系统的整体结构、组件、接口、数据流以及技术选型等方面进行的详细设计和规划。它是软件开发过程中的重要组成部分&#xff0c;为开发团队提供了明确的指导和规范&#xff0c;确…