一个比较有趣的面试题
题意:
仅由4和7组成的十进制数字被称为幸运数字,如,4,7,44,47。
那么仅由幸运数字乘积得到的数字为超级幸运数字,如,28 = 4 * 7。
现在给你两个数字表示上下限,让你求这段区间内有多少个超级幸运数字。总共有1000组查询,上下限最多到 1012 10 12 。
思路:
第一想法是容斥搞一下,但是其实非常难,因为除了爆搜很难去构造出仅由幸运数字乘起来得到的数。
第二想法是爆搜,既然是面试题,肯定不会难到哪里去。那就估算一下复杂度和爆搜的体量。
幸运数字的量:其实可以把4和7当做0和1,用二进制估算,大约是 213 2 13 个,也就是不超过