1000이라고 할 때까지 모든 소수를 인쇄하려면 어떤 종류의 알고리즘을 사용해야합니까?SQL에서 n까지 모든 소수를 인쇄하는 가장 쉬운 방법은 무엇입니까?
SQL Server가 좋습니다.
감사
1000이라고 할 때까지 모든 소수를 인쇄하려면 어떤 종류의 알고리즘을 사용해야합니까?SQL에서 n까지 모든 소수를 인쇄하는 가장 쉬운 방법은 무엇입니까?
SQL Server가 좋습니다.
감사
그보다 작은 1000
;WITH temp AS
(
SELECT 2 AS Value
UNION ALL
SELECT t.Value+1 AS VAlue
FROM temp t
WHERE t.Value < 1000
)
SELECT *
FROM temp t
WHERE NOT EXISTS
( SELECT 1 FROM temp t2
WHERE t.Value % t2.Value = 0
AND t.Value != t2. Value
)
OPTION (MAXRECURSION 0)
SQL
에서 데모 링크 :이미 가정 : Rextester
대답은 간단하다 다음 표는 데이터가있는이 채워진 입니다.
CREATE TABLE dbo.PrimeNumber(Num INT NOT NULL PRIMARY KEY);
만 간단한 SELECT
해야합니다 :
SELECT * FROM dbo.PrimeNumber
힌트 (** [처음 1000 소수} **) : https://en.wikipedia.org/wiki/List_of_prime_numbers –
with prime
as
(
select 1 as 'start'
union all
select start+1 'start'
from prime where start<100
)
select e as prime_value from
(select a.start%b.start as w, a.start as e from prime A , Prime B
where --a.start% b.start<>0 and
b.start<a.start
--and a.start between 1 and 100
)A
where w=0
group by A.e
having count(w) <=1
BY Nagaraj M-BE
답변에 대한 설명을 추가해야합니다. 그렇지 않으면 향후 사용자를 이해하기 어려울 것입니다. – MKR
이 SQL에 대한 적절한 문제가되지 않습니다. –
일부 소수점까지 모든 소수의 테이블을 만듭니다. 그것을 선택하십시오. –
두 번째 @GordonLinoff, 처음에는 SQL 초에 적절한 문제가 아니며 SO – Tushar