工号不够用了怎么办

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


import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        String in = scan.nextLine();
        String[] input = in.split("\\s+");
        long peopleNum = Long.parseLong(input[0]);//需要分配的人数
        int charSize = Integer.parseInt(input[1]);//新工号英文字母的长度
        double num1 = Math.pow(26,(double)charSize);
        int i = 1;
        long num2 = (long)num1 * 10;
        while(num2 < peopleNum){
            i ++;
            num2 *= 10;
        }
        System.out.println(i);
    }
}
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
    ll x,y;
    cin>>x>>y;
    ll sum=1;
    while(y--)sum*=26;
    if(sum>=x)cout<<1<<endl;
    else{
        int co=0;
        while(sum<x){
            sum*=10;
            co++;
        }
        cout<<co<<endl;
    }
}

#include <cmath>
#include<iostream>

using namespace std;

int res(long x, int y) {
    long res, cnt = -1;
    res = ceil(x / pow(26, y));
    for (;res - pow(10, cnt) > 0;cnt++);
    return (cnt <= 0 ? 1 : cnt);

}

int main() {
    long x;
    int y;

    cin >> x >> y;
    cout << res(x, y);

    return 0;
}
def solve(x, y)
  z = 1
  base = 26 ** y
  factor = 10
  while true
    if base * factor >= x
      puts z
      return
    end
    z += 1
    factor *= 10
  end
end

while line = STDIN.gets
  x, y = line.split(' ').collect(&:to_i)
  solve(x, y)
end
// ruby




全部评论

相关推荐

不愿透露姓名的神秘牛友
05-01 13:13
ecece:这么明目张胆虚报就业率啊
点赞 评论 收藏
分享
大方的大熊猫准备进厂:1.教育背景:你希望从事什么专业的工作你的主修课就是什么;成绩优秀是你应该做的,没什么可描述的,成绩不优秀也许人家在大学忙着创业呢?(成绩优秀不一定是好事,只能说明多元化的大学你上成了高中,没有真正上明白大学,反而体现了你死板,不爱社交,没有别的突出能力) 2.实践经历:你想表达的意思没有说清楚。你是说你会个性化服务,还是你有实习经历。如果没有带来,经济收益,表彰,更好的发展前景,那你还不如说说提升了自己哪些技能。你说有人给你送锦旗我都能明白你优秀,但是你说你会xxxx,你说这话谁信,证据呢。 3.入伍经历:你描述的就是你的工作职责或者你应该做的,并没有体现出来你把这个事情做好了,而且入伍经历并不能证明你能干好你要应聘的工作,不如只写经历其余所有内容都不写。 4.荣誉技能:重点突出一下,但不要过多描述,这些荣誉的含金量懂得都懂。 重点:你要应聘什么工作(具体岗位,实习生不具体),你的期望薪资
点赞 评论 收藏
分享
虽然大家都在劝退读研,说读研以后也是打工,不如本科直接去打工,但随着现在研究生越来越多,很多企业招聘要求就会变成研究生起招,本科投递简历就会被卡,横向比较时也会因为"本科学历比不上研究生学历"被筛掉,而且你没发现劝退读研的基本都是读完研的人吗?而且进体制、国企等,研究生也比本科生升的快,他们拿着研究生文凭劝你一个本科生,可别当真了
球1个offer:每个行业都是不一定的,例如计算机开发岗,只要是92学历,完全可以冲互联网大厂,没进去抛开运气因素,就是不够努力,准备的晚没有实习等等。计算机算法岗还是要读研的,研究生是基本要求。现在太多人无脑考研了,因为本科秋招春招啥都没准备过,只能读研
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务