题目大意:
快速求:
[large{sum_{din prime}sum_{x=1}^{n}sum_{y=1}^{n}[gcd(x,y)==d]}
]
正文:
方法一:
通过预处理筛法筛出素数再暴力枚举(x)和(y)。
预期得分20分。
方法二:
在方法一的基础考虑化简式子,因为两者的最大公因数都是 (d),所以 (x|d) 且 (y|d),那么:
[large{sum_{din prime}sum_{x=1}^{n}sum_{y=1}^{n}[gcd(x,y)==d] = sum_{din prime}sum_{x=1}^{leftlfloordfrac{n}{d}
ight
floor}sum_{y=1}^{leftlfloordfrac{n}{d}
ight
floor}[gcd(x,y)==1]}
]
发现 (sum_{x=1}^{leftlfloordfrac{n}{d} ight floor}sum_{y=1}^{leftlfloordfrac{n}{d} ight floor}[gcd(x,y)==1]) 有对称性,就是说假设 (x=3,y=5),像这样的情况,(x=5,y=3) 又算了一次,我们不妨把其式子化成 (sum_{x=1}^{leftlfloordfrac{n}{d} ight floor}2sum_{y=1}^{x}[gcd(x,y)==1])。但这是错的,假设 (x=2,y=2),原本只算了一次,但我们算了两次,所以我们应该化成 (sum_{x=1}^{leftlfloordfrac{n}{d} ight floor}(2sum_{y=1}^{x}[gcd(x,y)==1])-1)。
又可以发现(sum_{x=1}^{leftlfloordfrac{n}{d} ight floor}(2sum_{y=1}^{x}[gcd(x,y)==1])-1=2(sum_{x=1}^{leftlfloordfrac{n}{d} ight floor}varphi(x))-1)
所以最后要求出:
[large{sum_{din prime}2(sum_{x=1}^{leftlfloordfrac{n}{d}
ight
floor}varphi(x))-1}
]
预期得分100分。