Let $[x]$ denote the largest integer not exceeding $x.$
An elementary proof that $S(x)=\{nx-[nx]:n\in \mathbb N\}$ is dense in $[0,1]$ for irrational real $x>0:$
For real $y, $ define $E(y)=\min \{|y-z|:z\in \mathbb Z\}.$
(A). It suffices to show that $\inf_{y\in S(x)}E(y)=0.$
Because if $\inf_{y\in S(x)}E(y)=0$ then:
(A1). Note that $ y\in S(x)\implies E(y)\in (0,\frac {1}{2})$ because $x\not \in \mathbb Q.$
(A2). For any $n\in \mathbb N,$ let $m\in \mathbb N$ such that $y=mx-[mx]\in S(x)$ with $0<E(y)<\frac {1}{n+1}.$ Let $k\in \mathbb N$ such that $kE(y)<1<(k+1)E(y).$ (Remark: $kE(y)\ne 1\ne (k+1)E(y)$ as $x\not \in \mathbb Q.$ ) Then $$T=\{jmx-[jmx]:1\leq j\leq k\land j\in \mathbb N\}=\{jmx-j[mx]:1\leq j\leq k\land j\in \mathbb N\}\subset S(x).$$ And for every $z\in [0,1]$ there exists $z'\in T$ with $|z-z'|\leq E(y)<\frac {1}{n+1}.$
(B). To show that $\inf_{y\in S(x)}E(y)=0:$
For brevity let $$A_n=k_nE(nx-[nx])$$ $$\text { and }\; B_n=(1+k_n)E(nx-[nx])$$ $$\text { where }\, k_n\in \mathbb N \text { satisfies }\; A_n<1<B_n.$$
Now let $k'_n=k_n$ if $1-A_n<\frac {1}{2}E(nx-[nx]) .$ And let $k'_n=(1+k_n)$ if $B_n-1<\frac{1}{2}E(nx-[nx]).$ (Remark.Equality cannot occur in either case, and the two cases are disjoint, as $x\not \in \mathbb Q.$) Then we have $$E(k'_nnx-[k'_nnx])<\frac{1}{2}E(nx-[nx]).$$ So with $f(1)=1 $ and $f(n+1)=k'_{f(n)}f(n)$ we have $$0<E(f(n+1)x-[f(n+1)x])<\frac{1}{2}E(f(n)x-[f(n)x]).$$