|
lastwinner 发表于 2012-10-27 00:59 ![]()
官方的答案是多少?也跟我们的推测一样?
应该是一样的,nk这个质数的算法拿来借鉴一下- WITH t0 AS (
- SELECT 2*ROWNUM+1 rn FROM DUAL CONNECT BY ROWNUM <= (100000)/2-1-1
- ),
- t as(SELECT rn from t0
- where mod(rn,3)<>0
- and mod(rn,5)<>0
- and mod(rn,7)<>0
- )
- ,p AS (
- SELECT TO_CHAR(rn) n,LENGTH(rn) len
- FROM (SELECT rn from t
- MINUS
- SELECT t1.rn * t2.rn
- FROM t t1, t t2
- WHERE t1.rn <= t2.rn
- AND t1.rn BETWEEN 11 AND SQRT(100000)
- AND t1.rn * t2.rn <100000
- )
- WHERE rn>10
- ),
- tmp (n, digit) as (
- select n, 2 digit
- from p
- where len=2
- union all
- select a.n||substr(b.n, -1) n, a.digit+1 digit
- from tmp a, tmp b, p
- where a.digit=b.digit
- and substr(a.n, 2)=substr(b.n, 1, b.digit-1)
- and a.n||substr(b.n, -1)=p.n)
- select max(to_number(n)) from tmp;
复制代码 |
|