转载请注明出处:http://blog.youkuaiyun.com/xiaojimanman/article/details/18812709
详细题目参照网址:http://hero.youkuaiyun.com/Question/Details?ID=237&ExamID=232
对于这个题目,自己做了如下实现:
/**
*@Description: 报7游戏
*/
package cn.lulei.util;
public class Game7 {
/**
* @param num
* @return
* @Date: 2014-1-27
* @Author: lulei
* @Description: 判断一个数是不是符合报7游戏中的拍手数字
*/
private static boolean isStopNum(int num) {
if (num < 1) {
return false;
}
if ((num % 7 == 0) || (String.valueOf(num).indexOf("7") != -1)){
return true;
}
return false;
}
/**
* @param count
* @return
* @Date: 2014-1-27
* @Author: lulei
* @Description: 求最小的可能拍手num次的数字
*/
public static int getMinNum(int count) {
if (count < 1) {
return 0;
}
int minCount = 0; //保存连续isStopNum的数字个数
for(int i = 1; i < Character.MAX_VALUE; i++) {
if (isStopNum(i)) {
minCount++;
if (minCount == count) {
return i - count + 1;
}
} else {
minCount = 0;
}
}
return 0;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 1; i < 200; i++){
System.out.println(i + "\t" + Game7.getMinNum(i));
}
}
}
自己第一次做优快云的英雄会,实现的不是太好~