如何使用mysql分解整数

时间:2012-07-04 08:48:51

标签: mysql math

在做我的项目时,我需要使用mysql找到整数的素数因子化,我认为除了做所有递归之外,它是查询的有效方法。

我希望实现的是找到构成整数的素数。

示例:对于 102 ,析因数将为: 17 3 2

谢谢。

1 个答案:

答案 0 :(得分:0)

信封策略的后面(仍需要步骤2的编程循环)

  1. 使用单个int列(主键)

  2. 创建表“primes”
  3. 运行此循环:

    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)")
    }
    
  4. 使用上面的子查询列出特定$ x

  5. 的结果

    此解决方案适用于$ n ^ 2的值。步骤2可以通过仅测试9以上的数字和最后的数字1,3,7,9来改进。