在做我的项目时,我需要使用mysql找到整数的素数因子化,我认为除了做所有递归之外,它是查询的有效方法。
我希望实现的是找到构成整数的素数。
示例:对于 102 ,析因数将为: 17 , 3 , 2
谢谢。
答案 0 :(得分:0)
信封策略的后面(仍需要步骤2的编程循环)
使用单个int列(主键)
运行此循环:
for $x = 2 to $n {
execute("
insert into primes (id)
select $x where not exists
(select * from primes as p where p.id <= sqrt($x) AND ($x mod p.id) > 0)")
}
使用上面的子查询列出特定$ x
此解决方案适用于$ n ^ 2的值。步骤2可以通过仅测试9以上的数字和最后的数字1,3,7,9来改进。