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

【华为OD机试真题 C++】1066 - 新工号中数字的最短长度 | 机试题+算法思路+考点+代码解析

文章目录

    • 一、题目
      • 🔸题目描述
      • 🔸输入输出
      • 🔸样例1
      • 🔸样例2
      • 🔸样例3
    • 二、代码参考
  • 作者:KJ.JK


🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈
 
🍂个人博客首页: KJ.JK
 
💖系列专栏:华为OD机试真题(C++)


一、题目


🔸题目描述

3020年, 空间通信集团的员工人数突破20亿人,即将遇到现有工号不够用的窘境。
 
现在,请你负责调研新工号系统。继承历史传统,新的工号系统由小写英文字母(a-z) 和数字(0-9) 两部分构成。
 
新工号由一段英文字母开头,之后跟随一 段数字,比如"aaahw0001",“a12345”,“abcd1”,“a00”。
 
注意新工号不能全为字母或者数字,允许数字部分有前导0或者全为0。
 
但是过长的工号会增加同事们的记忆成本,现在给出新工号至少需要分配的人数X和新工号中字母的长度Y,求新工号中数字的最短长度Z。


🔸输入输出

输入
一行两个负整数X Y ,数字单个空格分隔
0<X <=2^50- 1
0<Y<=5
 
输出
输出新工号中数字的最短长度Z


🔸样例1

输入
260 1输出
1说明:
无

🔸样例2

输入
26输出
1说明:
数字长度不能为0

🔸样例3

输入
2600 1输出
2说明:
无

二、代码参考

#include <iostream>
#include <cmath>
using namespace std;int main() {long long num_people, len_letter;cin >> num_people >> len_letter;long long min_len_num = max(1LL, (long long) ceil(log10(num_people / pow(26, len_letter))));cout << min_len_num << endl;return 0;
}

作者:KJ.JK

文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

http://www.lryc.cn/news/60833.html

相关文章:

  • 【数字 IC / FPGA】 有关建立/保持时间计算的思考
  • 【Fluent】Run can not be started until validation issues are resolved.
  • 【进阶C语言】有关动态内存管理的经典笔试题(详细图文讲解)
  • 1.Java系列之基础面试题总结
  • Android:usb转232串口通信
  • 动态设置图片的主题色(保留明暗关系)
  • mybatis中#与$的区别
  • CVPR2023论文整理
  • RK3399平台开发系列讲解(中断篇)掌握信号处理
  • 业余爱好者想入门编程,一定远离那些只会说No的家伙,尤其程序员
  • DHCP及中继(UOS)
  • 【Linux】进程的概念
  • 奇舞周刊第490期:WebAssembly 多语言/宿主环境中的使用
  • 【css】使用css实现提示框各种弹出效果。
  • 1685_Excel的几种脚本处理方式
  • Unity中使用struct和class来存储数据的注意事项
  • 共阳(共阴)LED数码管编码交互演示
  • 如何在 TensorFlow 中使用 GPU 加速深度学习计算?
  • RK3568平台开发系列讲解(Linux系统篇)线程 pthread 详解
  • hspJAVA
  • OpenAI-ChatGPT最新官方接口《嵌入向量式文本转换》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(五)(附源码)
  • 1042. 不邻接植花
  • Linux FTP服务
  • JavaScript基础入门全解析(下)
  • 【C++初阶】(入门)输入输出
  • 初识Linux+Linux基本指令(一)
  • 部署架构 因为单体架构痛点 升级到微服务架构
  • mapreduce打包提交执行wordcount案例
  • MyBatis(十六)MyBatis使用PageHelper
  • 铁路轨道不平顺数据分析与预测