生成指定数量的质数
为什么做这个
闲着没事又看到自己很久以前做的SKU
选择的需求,以前的代码写得逻辑有点乱,我完全看不懂了;
就打算重构一下SKU选择,当时正好看到一篇文章,每个最小单元规格用一个唯一的质数做标记,例如:
红色->2,6G内存->3,128G硬盘->5
;那么只要这3个规格组合起来,就是 红色;6G内存;128G硬盘
,组合后的规格标记为 2*3*5=30
;
为什么要这样标记,因为质数只能被1和自身整除,规格组合后,使用唯一质数去做乘积,那么这个乘积也是唯一的;
如果用户选择了部分规格,就可以用已选择规格的乘积去和所有的最终规格乘积去比较,如果 最终规格乘积 除以 当前选择规格的乘积
,能整除,证明用户选择的规格,是有效规格;
这样做的话非常容易整体对比;虽然最终我没有用到质数比较的思路,但还是写出来;
代码实现
这里我做的是生成指定数量的质数,比如说100个
,那么就会从2
开始,生成100个质数
,以数组形式返回;
1 |
|
运行看一下结果:
1 |
|
生成指定数量的质数
https://liujiaweb.cn/posts/28828.html