埃拉托斯特尼筛
先在 [0..N] 上做一次筛,得到布尔数组 isPrime[x] 是否为素数。
复杂度 O(NloglogN),空间 O(N)。
枚举切分点(用 10 的幂)
小明最近刚刚学习完素数的概念,老师出了一个课后练习。问题是如果将一个 n(n>=2) 位的素数拆分成两部分,其中高 m 位是一个素数,低 (n−m) 位也是一个素数,那么这个素数称为可拆分素数。
例如 113 是一个素数,它可以拆成两部分,高两位 11 是一个素数,低一位 3 也是一个素数,因此 113 是一个可拆分素数。