这题是典型的排列组合(以下讨论数字个数时都已排除了 $0$)
- 总的字符串数:字符串长度为 $10000$,且每个位置可以选择的数字有 $9$ 个数字可选,因此,所有可能的字符串总数为:$9^{10000}$。
- 不包含数字 3:去掉 $3$ 后共有 $8$ 个数字可选,因此不包含 $3$ 的字符串数为:$8^{10000}$。
- 不包含数字 7:去掉 $7$ 后也共有 $8$ 个数字可选,因此不包含 $7$ 的字符串数也为:$8^{10000}$。
- 同时不包含数字 3 和 7:则只有 $7$ 个数字可选,因此同时不包含 $3$ 和 $7$ 的字符串数为:$7^{10000}$。
根据容斥原理,同时包含 $3$ 和 $7$,且不包含 $0$ 的字符串数为:
$9^{10000}-8^{10000}-8^{10000}+7^{10000}=9^{10000}-2\times8^{10000}+7^{10000}$
并将结果对 $10^9+7$ 取模。
代码实现:
MOD=10**9+7
all_=pow(9,10000)#总的字符串数
qu3=pow(8,10000)#不包含数字3(由于不包含数字7的值与3一致,为了节省编译时间,就不再次计算)
qu37=pow(7,10000)#同时不包含数字3和7
ans=(all_-2*qu3+qu37)%MOD#代入公式并取模
print(ans)
最终答案为 $157509472$。