Three, (50 points)
Positive integers $a, b, n$ satisfy $(a, b)=1$, and $(a+b) \mid n$, let $S$ be a subset of $\{1,2, \cdots, n\}$ such that the difference between any two numbers in $S$ cannot be $a$ or $b$. How many elements can $S$ contain at most?
III. (50 points)
Lemma: Any $a+b$ consecutive integers can be arranged in a circle such that the difference between any two adjacent numbers is $a$ or $b$.
Proof for $a_{0}=0$: Let $s=a+b-1$. Construct the sequence $a_{0}, a_{1}, \cdots, a_{s, 1}$, such that $a_{k+1}=\left\{\begin{array}{l}a_{k}-b\left(\text { when } a_{k} \geqslant b\right) \\ a_{k}+a\left(\text { when } a_{k}<b\right)\end{array}\right.$.

Assume there exists $u, v$ such that $a_{u}=a_{v}$ and $u < v$. Then $b v - a u = a_{u} - a_{s} + 1$. If $u > b$, then $a_{u} - a_{u-b} = b$, which contradicts $u > b$. Thus, $u \leqslant b$. Then $b v = a u - a_{s} + 1 \leqslant a b$, so $v \leqslant a$.

Therefore, $u \leqslant b, v \leqslant a$.
Thus, $a+b=s+1=u+v \leqslant a+b$, so $u=b, v=a$, which gives $a_{1+1}=0$.
Thus, the numbers $0,1,2, \cdots, s$ can be arranged in a circle as $a_{0}, a_{1}, \cdots, a_{s}$, such that the difference between any two adjacent numbers is $a$ or $b$. Therefore, any $a+b$ consecutive integers can be arranged in a circle such that the difference between any two adjacent numbers is $a$ or $b$. The lemma is proved.

Now, let's solve the original problem:
Let $m=\frac{n}{a+b}$. We will prove that the number of elements in $S$ cannot exceed $m\left[\frac{a+b}{2}\right]$.
Divide $\{1,2, \cdots, n\}$ into the following $m$ subsets: $\{1,2, \cdots, a+b\}$,
$$
\{a+b+1, \cdots, 2 a+2 b\}, \cdots, \{(m-1) a+(m-1) b+1, \cdots, m a+m b\}
$$

Each subset contains $a+b$ consecutive integers. By the lemma, they can be arranged in a circle such that the difference between any two adjacent numbers is $a$ or $b$. Therefore, the numbers in each subset that belong to $S$ cannot be adjacent. Thus, at most $\left[\frac{a+b}{2}\right]$ numbers in each subset can belong to $S$. Therefore, $S$ can have at most $m\left[\frac{a+b}{2}\right]$ elements.

Now, we will prove that this maximum value can be achieved. Assume $a > b$, and let $d=\left[\frac{a+b}{2}\right]$. We construct the following sequence:
$$
\begin{array}{l}
1+a_{0}, 1+a_{2}, \cdots, 1+a_{2 d-2}, \cdots,(a+b)+1+a_{0},(a+b)+1+a_{2}, \cdots, \\
(a+b)+1+a_{2 d-2}, \cdots,(m-1)(a+b)+1+a_{0},(m-1)(a+b)+1+a_{2}, \\
\cdots,(m-1)(a+b)+1+a_{2 d-2} .
\end{array}
$$

Now, we will prove that this sequence satisfies the conditions:
Starting from the beginning of the sequence, every $d$ consecutive numbers form one segment.
In each segment, the difference between any two numbers is the difference between any two of $a_{0}, a_{2}, \cdots, a_{2 d-2}$.
It is easy to see that the differences between any two of $a_{0}, a_{2}, \cdots, a_{2 d-2}$ are not $a$ or $b$.
This is because any difference between two of them can be expressed as $a x - b y$, where $x+y=2,4, \cdots, 2 d-2$. If $a x - b y = a$, then $a(x-1) = b$. By $(a, b)=1$, we get $x=1, y=0$, so $x+y=1$, which is a contradiction! If $a x - b y = b$, then $a x = b(y+1)$. By $(a, b)=1$, we get $x=b, y=a-1$, so $x+y=a+b-1 \geqslant 2 d-1 > 2 d-2$, which is a contradiction!

The difference between any two numbers in adjacent segments is also not $a$ or $b$. (The difference between any two numbers in adjacent segments can be expressed as $a+b+a_{1}-a_{i}$. If $a+b+a_{1}-a_{i}=a$ or $b$, then $a_{s}-a_{t}=a$ or $b$, which is impossible.)
Finally, the difference between any two numbers in non-adjacent segments is definitely greater than $a+b$, and thus cannot be $a$ or $b$.
In summary, there are no two numbers in the above sequence whose difference is $a$ or $b$.
Therefore, the final answer is $\frac{n}{a+b} \cdot\left[\frac{a+b}{2}\right]$.
Note: This is a generalization of problem 13 from the 7th American Mathematical Invitational. The construction method for the sequence $a_{0}, a_{1}, \cdots, a_{s}$ is derived from Example 5 in the first chapter of the second volume of the Hua Luogeng School of Mathematics textbook.