[pstricks] Sieve
Herbert Voss
Herbert.Voss at FU-Berlin.DE
Wed May 27 20:36:34 CEST 2009
David Arnold schrieb:
> Nice solution. I wound up with following. Brute force, but it worked.
you can calculate anything in PS ...
Herbert
\documentclass{article}
\usepackage{pstricks-add}
\begin{document}
\pstVerb{
/prime? {
/n exch def
n 1 eq {false} { % 1 is not prime
n 2 mod 0 eq {n 2 eq} {
/divide? false def
3 2 n sqrt {
n exch div dup ceiling eq {/divide? true def exit} if
} for
divide? not } ifelse } ifelse
} bind def
}
\makeatletter
\begin{pspicture}(0,0)(10,-10)
\psgrid[subgriddiv=1,gridlabels=0pt]
\multido{\iA=2+1}{99}{%
\rput(! \iA\space 2 sub 10 mod /xVal ED
\iA\space 2 sub 10 div cvi neg /yVal ED
\iA\space prime? not {
gsave xVal yVal \tx at ScreenCoor translate
0 0 moveto 1 -1 \tx at ScreenCoor lineto
0 -1 \tx at ScreenCoor moveto 1 0 \tx at ScreenCoor lineto
1 setlinewidth 1 0 0 setrgbcolor stroke grestore } if
xVal 0.5 add yVal 0.5 sub ){\iA}}
\end{pspicture}
\end{document}
Herbert
More information about the PSTricks
mailing list