腾讯微众银行2019春招-2020实习Java方向笔试算法题(4.11)

第一题:玩游戏

题目描述

有一天,阳阳和他的小伙伴一起玩游戏!
他们总共有n个人,排成一圈,然后从第一个人开始依次报数,1,2,3,…报道m的人退出游戏,然后从下一个人开始重新从1报数,重复这个过程,直到只剩下一个人时,此人就是游戏的获胜者

输入

两个整数 n 和 m
1 <= n,m <= 1000

输出

第一行n-1个数,依次表示退出游戏的人。
第二行一个数表示获胜者编号。

样例输入
6 4
样例输出
4 2 1 3 6
5

第二题:技能学习

人族和兽族为了争夺一处矿产掀起了世界大战。大战在即,先知召集兽族各勇士学习新的攻击技能。先知想要让n(1<=n<=100000)个兽族勇士都分别学会K(1<=k<=100000)种技能,但一个一个教的效率太低,先知在精灵杂货铺那里买来了分身宝石,使用分身宝石后,就出现了m(1 <= m <= 100000)个先知。先知教会一个兽族勇士一个技能的时间是一分钟,一个兽族勇士在同一时间只能学习一个技能,一个先知在同一时间也只能教一个勇士学习技能,不同先知或不同勇士当然可以在同一时间教授或学习技能。
大战即将爆发,先知想要知道最少需要多久才能教会n个勇士分别学会k个技能?

输入

一行三个整数n,k,m,以空格隔开。

输出

一行一个整数表示n个勇士分别学会k个技能的最少时间。

样例输入
2 1 1
样例输出
2

第三题:KB跳格子

KB今天很开心,跟局长玩起了跳格子的游戏,游戏规则是这样的。
局长在地上连续的画了很多的格子,格子编号依次为1,2,3,…,n
KB会玩一轮游戏,每次站在一个编号为n的格子上,KB每次的跳跃非常讲究,如果这个数字是奇数,那么KB下一次会调到3n+1的位置,如果这个位置是偶数,那么KB将会跳跃到n/2的位置,不停的这样跳,局长看的有些无聊,局长想知道究竟要跳多少次才能跳到1。

输入

第一行一个整数T
第二行是T个正整数n
1 <= T <= 100
1 <= n <= 1000

输出

对于每一个n,每行输出一个数s,表示KB在编号为n的格子上跳多少步会跳到1,如果n无法跳到1,则输出-1.

样例输入
3
1 2 3
样例输出
0
1
7
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值