报数游戏(3)--【英雄会】
2014-01-28 12:01
351 查看
回来也十天了,中间各种私事,包括替看店等等...不过现在终于有着较大段时间逛逛英雄会了,最近题目出了数道,当然难度也是比较适合的,二星、三星的我还勉强可以一做...废话不多言,说题目吧:
一种报数游戏是从1开始连续报数,如果报到7的倍数(7,14,21,28……)或者包含数字7的数(7,17,27,37……)就用拍手代替这个数而不能报出。假设你连续听到m声拍手,问造成你听到m声拍手的第一下拍手所代表的数是几?
例如,你听到了两次连续的拍手,最小的可能这两次拍手是27和28,因此输出27。
输入m, 输出这m次连续的拍手第一下所代表的最小可能的数。
题目说的还是较清楚的:
1、7的倍数
2、包含数字7的数
另外要求是连续拍手,最后输出是拍手的第一个数,当然这个数要求是最小可能。
0次 1
1次 7
2次 27 28
3次 70...
这样思路就比较清晰了,从1开始报数,找到一个最小的数,它的连续m个数满足以上两个要求之一即可,一直往上寻找即可,时间复杂度是线性的,当寻找到某一个数满足连续m个数,返回初始报数值即可;
如上程序,起先在测试该测试点的时候我还担心通过时间会超过三秒,心想还得继续优化。不过,幸好,lucky,通过了,还是略水...
在家里做的第一道题啊,难得...话说家里冷啊,学校固然冷但是有暖气,诶,坚持下去!
马上过年了,也是马年哈,祝各位马年愉快!
(*∩_∩*)
一种报数游戏是从1开始连续报数,如果报到7的倍数(7,14,21,28……)或者包含数字7的数(7,17,27,37……)就用拍手代替这个数而不能报出。假设你连续听到m声拍手,问造成你听到m声拍手的第一下拍手所代表的数是几?
例如,你听到了两次连续的拍手,最小的可能这两次拍手是27和28,因此输出27。
输入m, 输出这m次连续的拍手第一下所代表的最小可能的数。
题目说的还是较清楚的:
1、7的倍数
2、包含数字7的数
另外要求是连续拍手,最后输出是拍手的第一个数,当然这个数要求是最小可能。
0次 1
1次 7
2次 27 28
3次 70...
这样思路就比较清晰了,从1开始报数,找到一个最小的数,它的连续m个数满足以上两个要求之一即可,一直往上寻找即可,时间复杂度是线性的,当寻找到某一个数满足连续m个数,返回初始报数值即可;
#include<stdio.h> int Seven(int num) //包含数字7 { while (num > 0) { if (num % 10 == 7) return 1; num /= 10; } return 0; } int number (int m) { int start = 1; //由1开始 int count = 0; //连续的个数 int n = start; //初始点 while (count < m) //连续的个数 { if (start % 7 == 0 || Seven(start) == 1) { if (count == 0) //重新计数,修改初始n { n = start; } count++; } else count = 0; //非连续 start++; } return n; } //start 提示:自动阅卷起始唯一标识,请勿删除或增加。 int main() { printf("%d",number(1111111)); return 0; } //end //提示:自动阅卷结束唯一标识,请勿删除或增加。
如上程序,起先在测试该测试点的时候我还担心通过时间会超过三秒,心想还得继续优化。不过,幸好,lucky,通过了,还是略水...
在家里做的第一道题啊,难得...话说家里冷啊,学校固然冷但是有暖气,诶,坚持下去!
马上过年了,也是马年哈,祝各位马年愉快!
(*∩_∩*)
相关文章推荐
- 报数游戏(2)--【英雄会】
- 英雄会报数游戏(3)实现
- 【英雄会】报数游戏
- demo2_简单的报数游戏
- Unity官方_第一人称游戏<恶魔射手>----学习笔记一(英雄脚本)
- 报数游戏-(容斥+二分)
- 报数游戏
- csdn英雄会(pongo)题解之报数游戏2--源代码
- cocos2dx游戏--欢欢英雄传说--添加游戏背景
- 超级动作英雄 - 很酷的动作游戏Android版
- 【转】一个报数游戏(约瑟夫环问题)
- [置顶] java抽象工厂设计模式之游戏实例解析(大话java&英雄联盟)
- 游戏想要卖得好,试试美女救英雄(人民邮电报专栏《乐游记》58)
- csu-1101: 报数游戏
- 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去....直到剩下
- UITableViewCell 单组数据展示——实现游戏英雄单组展示
- cocos2dx游戏--欢欢英雄传说--添加人物
- Linux环境下C语言实现报数游戏
- 围圈报数踢三游戏
- 项目名称: 报数游戏