with t as (select rownum n from dual connect by rownum<=100)
with soldier as (select rownum n from dual connect by rownum<=100000)
select soldier.n 士兵数量 from soldier
where mod(soldier.n,3)=1
and mod(soldier.n,5)=2
and mod(soldier.n,7)=4
and mod(soldier.n,11)=6
and mod(soldier.n,23)=8
and soldier.n>=30000;