約分できない真分数を加算するので、分数が分母の素因数の倍数の場合は、加算されないことになる。

2022に三つの素因数がある。2と3と337である。つまり、$U=\{1,2,3,…,2021\}$の中に、2の倍数でもなく、3の倍数でもなく、337の倍数でもない数字がどのくらいあるかを数える問題になる。式を書きやすくするために、記号を定義する。$U$の中の2の倍数の集合を$A$となる。$U$の中の3の倍数の集合を$B$となる。Uの中の337の倍数の集合を$C$となる。すると、求めたい数は$|U|-|A \cup B \cup C|$。

$$\begin{align}
|A|&=\lfloor 2021 \div 2 \rfloor = 1010 \\
|B|&=\lfloor 2021 \div 3 \rfloor = 673 \\
|C|&=\lfloor 2021 \div 337 \rfloor = 5 \\
|A \cap B|&=\lfloor 2021 \div 2 \div 3 \rfloor = 336 \\
|A \cap C|&=\lfloor 2021 \div 2 \div 337 \rfloor = 2 \\
|B \cap C|&=\lfloor 2021 \div 3 \div 337 \rfloor = 1 \\
|A \cap B \cap C|&=\lfloor 2021 \div 2 \div 3 \div 337 \rfloor = 0 \\
\end{align}$$

$$\begin{align}
|A \cup B \cup C|&=|A|+|B|+|C|-|A \cap B|-|A \cap C|-|B \cap C|+|A \cap B \cap C| \\
&=1010+673+5-336-2-1+0 \\
&=1349
\end{align}$$

$$\begin{align}
|U|-|A \cup B \cup C|=2021-1349=672
\end{align}$$

つまり、$\frac{1}{2022}+\frac{5}{2022}+\frac{7}{2022}+…+$の合計式に、全部で672項がある。

この合計式の構造をもっと詳しく観察する。仮に$gcd(a, 2022)=f$であれば、仮に$gcd(2022-a, 2022)=k$とする。$k$を求める。仮に、$d$を整数とすると、

$$\begin{align}
& (d \mid 2022-a) \wedge (d \mid 2022) \\
& \iff (d \mid a) \wedge (d \mid 2022)
\end{align}$$

即ち、$a$又は$2022$又は$2022-a$の任意の約数$d$が常に、同時に、$gcd(a, 2022)$の約数でありながら、$gcd(2022-a, 2022)$の約数である。即ち、$gcd(a, 2022)=gcd(2022-a, 2022)$.

問題の合算式は、分子の小さいほうを左に置き、右へ分子が大きくなる一方である。つまり、$\frac{a}{2022}$が左から$n$番目であれば、$\frac{2022-a}{2022}$が右から$n$番目である。$\frac{a}{2022}$と$\frac{2022-a}{2022}$を対にすれば、この対の合計が$\frac{a}{2022}+\frac{2022-a}{2022}=1$である。全部で672項あるから、全部で、336対ある。つまり、問題の式の合計値が336である。

簡単なPythonプログラムで足して結果を確かめよう。

>>> from math import gcd
>>> sum=0
>>> for i in range(1, 2022):
...     sum+=0 if gcd(i, 2022)>1 else i
>>> print(sum/2022)
336.0

結果がぴったりだ。