SQL 기초 실무/SQL 알고리즘 문제

23.09.29. SQL Developer 알고리즘 문제 ⑭

잇꼬 2023. 10. 5. 13:42
728x90
반응형
SMALL

14. 몬테카를로 알고리즘 

1) 원의 방적식

- (x-a)² + (y-b)² = r²

- x ² + y ² ≤ 1

- 반지름 X 반지름 X 3.14 = 원의 넓이

-- 예제124. 몬테카를로 알고리즘으로 원주율을 알아내세요
select sum(case when (power(num1, 2) + power(num2, 2) ) <= 1 then 1 else 0 end ) / 100000 * 4 as "원주율"
    from (                      -- power(num1, 2) : 난수의 제곱
                select dbms_random.value(0,1) as num1, 
                           dbms_random.value(0,1) as num2 
                    from dual 
                    connect by level < 100000
                ) ;

 

-- 예제125. 자연상수 e의 값을 SQL로 알아내세요.
with loop_table as ( select level as n
                                    from dual 
                                    connect by level <= 1000000 ) 
select result
    from (
                select n, power( (1 + 1/n), n) as result
                    from loop_table
            )
    where n = 1000000 ;
728x90
반응형
LIST