华为机试:喊7游戏

news/2025/3/5 10:09:15/

题目描述

喊7 是一个传统的聚会游戏,N个人围成一圈,按顺时针从1-7编号。

编号为1的人从1开始喊数,下一个人喊得数字是上一个人喊得数字+1。

但是当将要喊出数字7的倍数或者含有7的话,不能喊出 而是要喊过。

假定N个人都没有失误。当喊道数字k时,可以统计每个人喊 “过"的次数。

现给定一个长度n的数组,存储打乱的每个人喊”过"的次数,请把它还原成正确顺序,即数组的第i个元素存储编号i的人喊“过“的次数。

输入描述

输入为1行,空格分割的喊过的次数, 注意k并不提供,k不超过200,数字个数为n。

输出描述

输出为1行,顺序正确的喊过的次数 空格分割。

示例1

输入

0 1 0

输出

1 0 0

说明:只有一次过,发生在7,按顺序编号1的人遇到7  所以1 0 0,结束时的k不一定是7 也可以是 8 9, 喊过都是1 0 0。

示例2

输入

0 0 0 2 1

输出

0 2 0 1 0

说明:一共三次喊过,发生在7 14 17,编号为2 的遇到7 17,编号为4 的遇到14。

思路分析

  • 输入个数n就是参与人数
  • 编号为1的人从1开始喊数,下一个人喊得数字是上一个人喊得数字+1
  • 数字7的倍数或者含有7,喊过。
  • N个人都没有失误,即所有人都没有失误,都正确的根据规则喊了。
  • k并不提供,k不超过200。

参考代码

注:题目网上找的,参考代码是练习用,仅供参考,并不保证用例通过率。

import java.util.Scanner;/*** 喊7游戏*/
public class Test0016 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String[] timesStr = scanner.nextLine().split(" ");// 计算所有人喊过的总次数int totalTimes = 0;for (String s : timesStr) {totalTimes += Integer.parseInt(s);}// 初始化每个人喊过的次数的数组容器int[] times = new int[timesStr.length];// 遍历数字,i最大值大于200int count = 0;int peopleNum;for (int i = 1; i < 300; i++) {// 当前喊出数字7的倍数或者含有7if (i % 7 == 0 || String.valueOf(i).contains("7")) {count++;// 计算当前是第几个人喊得peopleNum = i % timesStr.length;// 当前的人,喊过的次数加1// 人是从1开始,所以对应数组下表要减1times[peopleNum - 1] += 1;// 达到次数结束掉if (count == totalTimes) {break;}}}// 输出结果StringBuilder stringBuilder = new StringBuilder();for (int i = 0; i < times.length; i++) {stringBuilder.append(times[i]);if (i < times.length - 1) {stringBuilder.append(" ");}}System.out.println(stringBuilder);}
}


http://www.ppmy.cn/news/194479.html

相关文章

桌面便利贴软件下载 电脑桌面便签小工具软件下载

桌面便利贴和桌面便签软件&#xff0c;都是电脑上常用的记事工具。如果这两个工具都没有&#xff0c;我们有一些碎片信息需要记录的时候&#xff0c;就非常的麻烦。如果想要下载桌面便利贴软件或者电脑桌面便签小工具软件&#xff0c;该怎么办呢&#xff1f; 就拿Windows系统来…

电脑上既好看又好用的便签软件推荐

选择电脑桌面便签&#xff0c;很多人对便签的颜值还是比较在意的&#xff0c;一款颜值高的便签软件不但能够引起大家的重视&#xff0c;同时还能起到提醒大家的作用&#xff0c;如果经常在电脑旁工作&#xff0c;大家可以在电脑上安装这一款既好看又好用的便签软件。 非好用不…

win7电脑桌面便签哪个好用

有些人在平时会用到记事本、备忘录等来进行日常的记录&#xff0c;记录下来也可以在日后回顾&#xff0c;现在纸质的逐渐无人使用&#xff0c;更多的是使用一些电子的&#xff0c;随时记录&#xff0c;实时记录&#xff0c;有的人在电脑上会使用便签去记录&#xff0c;win7电脑…

简单好用的桌面日历便签软件有哪些?

对于我们中国人来说&#xff0c;在家里挂上一幅日历图是必不可少的&#xff0c;它可以方便我们随时查看日期&#xff0c;把握节日等特殊日子&#xff0c;还可以查看该日期下记录的事情或者节日等等事项。随着科技的发展&#xff0c;纸质日历已经逐渐淘汰&#xff0c;取而代之的…

桌面便签软件下载,电脑桌面便签软件下载哪一个

选择桌面便签时&#xff0c;大家可选择能满足个人使用需求的便签软件&#xff0c;有些人使用便签软件可用来记录工作计划&#xff0c;有些人使用便签软件则可以用来记录一些日程待办&#xff0c;电脑上使用的桌面便签软件下载哪一个呢&#xff1f; 选择使用桌面便签软件&#…

桌面便签哪个软件好用?求推荐一款便签软件?

桌面便签是职场人士不可或缺的工具软件&#xff0c;我们来不及做的事情&#xff0c;都可以暂时用便签记录下来&#xff0c;等事件完成之后&#xff0c;在便签上划掉就可以了。那么桌面便签软件哪个比较好用呢&#xff1f; 网络上便签软件种类虽然多&#xff0c;挑选起来成本却…

笔记本电脑桌面便签哪个软件好用,桌面便签软件下载

随着科技的发展&#xff0c;电脑已经深度参与我们的工作、生活。现在的年轻人&#xff0c;人手一台笔记本电脑。不管是学习、娱乐还是工作&#xff0c;都离不开笔记本电脑。如果需要记事&#xff0c;也是记录到笔记本电脑上。便签是记事主要工具&#xff0c;那么适合在笔记本电…

桌面日历软件有哪些?日历提醒便签软件推荐

说到记事&#xff0c;很多人还保持着在日历上记事的习惯&#xff0c;所以桌面日历工具就非常重要。Windows桌面日历软件一直是职场人士的必备工具&#xff0c;用户可以在日历上添加提醒事项。现在一些便签上都有日历功能&#xff0c;一起来看看这样的日历提醒便签软件&#xff…