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

华为OD机试 - 最小步数 (C++ Python JAVA JS GO)

最小步数

2025华为OD机试 - 华为OD上机考试 100分题型

华为OD机试真题目录点击查看: 华为OD机试真题题库目录|机考题库 + 算法考点详解

题目描述

求从坐标零点到坐标点n的最小步数,一次只能沿横坐标轴向左或向右移动 2 或 3。

注意:途径的坐标点可以为负数

输入描述

坐标点n,1 <= n <= 10^9

输出描述

输出从坐标零点移动到坐标点n的最小步数

用例1

输入

4

输出

2

说明

从坐标零点移动到4,最小需要两步,即右移2,再右移2

题解

思路:数学规律

  1. 本题只会存在两种情况, 对于n == 1时的情况为{-2,3},需要两步。
  2. 对于n >=2的情况,存在规律需要的步数为ceil(n /3)向上取整
  3. 明白上面规律之后,这个题就很简单了。

c++

#include<iostream> #include<vector> #include<string> #include <utility> #include <sstream> #include<algorithm> #include<cmath> #include<map> #include<cmath> using namespace std; int main() { int n ; cin >> n; // -2 3 if (n == 1) { cout << 2; } else { //cout << (int)ceil(1.0 * n / 3); cout << (n + 2) / 3; } return 0; }

JAVA

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // -2 3 if (n == 1) { System.out.print(2); } else { // cout << (int)ceil(1.0 * n / 3); System.out.print((n + 2) / 3); } } }

Python

n=int(input())# -2 3ifn==1:print(2)else:# print(math.ceil(1.0 * n / 3))print((n+2)//3)

JavaScript

constreadline=require('readline');constrl=readline.createInterface({input:process.stdin,output:process.stdout,terminal:false});rl.on('line',line=>{letn=parseInt(line.trim());// -2 3if(n===1){console.log(2);}else{console.log(Math.floor((n+2)/3));}});

Go

packagemainimport"fmt"funcmain(){varnintfmt.Scan(&n)// -2 3ifn==1{fmt.Print(2)}else{// fmt.Print(int(math.Ceil(float64(n) / 3)))fmt.Print((n+2)/3)}}
http://www.cnnetsun.cn/news/54785.html

相关文章:

  • Res-Downloader资源嗅探器:告别资源下载烦恼的终极方案
  • 如何快速搭建个人音乐云:DSub Android客户端完整教程
  • 双螺旋3D圣诞树:JavaScript图形编程的技术深度解析
  • vue基于Spring Boot的篮球比赛CBA联赛管理系统应用和研究_x2ij33qg
  • vue基于Spring Boot的考公考编学习课程资料推荐系统_0hcxvdf4_
  • 基于 C++ 实现的智能物流配送系统模拟程序
  • ExifToolGUI终极指南:免费高效的图片元数据管理工具
  • RSSHub-Radar终极指南:快速掌握浏览器RSS订阅扩展的简单使用技巧
  • XMU-thesis:厦门大学学位论文LaTeX模板完全指南
  • 【原创改进代码】考虑Copula相关性和热泵灵活性的风电光伏出力波动平抑优化策略
  • LXMusic V250801音源系统深度探索:从架构设计到性能调优
  • TranslucentTB中文设置完整指南:让任务栏透明化工具说中文
  • 百度网盘下载加速终极指南:免费突破限速完整方案
  • 3步搞定Habitat-Matterport 3D数据集完整安装指南 [特殊字符]
  • 企业级RPA利器OpenRPA:零基础快速部署与实战应用完全指南
  • 如何免费解锁百度网盘SVIP极速下载:终极完整指南
  • OpenWRT插件中心iStore:5分钟快速上手终极指南
  • Java Excel处理性能革命:FastExcel如何实现20倍效率提升
  • 终极Windows日志管理方案:快速搭建专业级监控中心
  • 2025年12月14日全球AI前沿动态
  • 剪映自动化神器:Python编程实现智能视频剪辑的革命性突破
  • 终极硬件信息获取指南:5分钟掌握hwinfo跨平台监控技术
  • MacOS鼠标滚动终极优化:如何让外接鼠标体验超越触控板?[特殊字符]
  • 【Java毕设全套源码+文档】基于springboot的电影院订票信息管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • Unity反向遮罩黑科技:彻底颠覆传统UI设计思维
  • 3大技巧玩转Equalizer APO:从入门到精通的音频增强终极指南
  • 10分钟精通AMD处理器调试:SMU工具的完整使用指南
  • GridPlayer终极指南:轻松实现多视频同步播放的免费神器
  • 如何用OneMore插件实现终极笔记管理:开源免费的效率神器
  • Bilibili-Evolved终极评测:从基础体验到专业玩家的全面升级指南