아래 김도현 교수님의 정수 연산 버전을 이용하였고 tikz로 그림을 그렸다. pdflatex으로는 될 수도. xelatex으로는 전혀 안 됨.
% !TEX TS-program = lualatex
\documentclass{oblivoir}
\usepackage{tikz}
\newcount\N \N=1000 % 총시행횟수. 10^n
\newcount\n \n=0 % 현재시행횟수
\newcount\hit \hit=0 % Hit
\newcount\outhit
\newcount\rr \rr\numexpr10000*10000\relax % 상수 r^2
\newcount\p \newcount\q % 난수 담을 변수
\def\rand#1{#1=\pdfuniformdeviate10001\relax} % 난수 발생기
\def\dmark#1{#1.}
\begin{document}
\null\vfil
\begin{tikzpicture}[overlay,remember picture,scale=10]
\filldraw [fill=green!20,draw=red!60] (1,0) arc (0cm:90:1cm);
\filldraw [fill=green!20,draw=green!20] (0,0) -- (1,0) -- (0,1);
\draw [->] (-.2,0) -- (1.2,0);
\draw [->] (0,-.2) -- (0,1.2);
\draw [draw=blue!20] (1,0) -- (1,1);
\draw [draw=blue!20] (0,1) -- (1,1);
\loop
\rand\p \rand\q
\ifnum\numexpr\p*\p+\q*\q\relax>\rr\else\advance\hit by1\fi
\ifnum\n<\N\advance\n by1
\draw (\p/10000,\q/10000) circle (.05pt);
\repeat
\global\outhit=\hit
\end{tikzpicture}
\[
\pi \approx \expandafter\dmark\the\numexpr4*\outhit\relax
\]
\end{document}
KTUG 한국 텍 사용자 그룹