RosettaCodeData/Task/100-doors/SQL/100-doors-2.sql

18 lines
369 B
SQL

with numbers as (
select generate_series(1, 100) as n
),
passes as (
select passes.n pass, doors.n door
from numbers doors
cross join numbers passes
where doors.n % passes.n = 0 -- modulo
),
counting as (
select door, count(pass) pass_number
from passes
group by door
)
select door from counting
where pass_number % 2 = 1
order by door