又做了个小题目,报数游戏。
题目详情:
一种报数游戏是从1开始连续报数,如果报到7的倍数(7,14,21,28……)或者包含数字7的数(7,17,27,37……)就用拍手代替这个数而不能报出。假设你连续听到m声拍手,问造成你听到m声拍手的第一下拍手所代表的数是几?例如,你听到了两次连续的拍手,最小的可能这两次拍手是27和28,因此输出27。输入m, 输出这m次连续的拍手第一下所代表的最小可能的数。
def has7(n): if (n % 7 ==0): return True if "7" in str(n): return True def lian7(m): at=1 while(True): suc=True for i in range(at,at+m): if has7(i): continue else: suc=False break if suc: return at at+=1 print lian7(11)
原文:http://blog.csdn.net/mahongquan/article/details/19120215