LightOJ 1336
题目:求1-n中σ(x)\sigma(x)σ(x)为偶数的个数,其中σ\sigmaσ为约数和函数。
对任意正整数n有,n=p1a1p2a2p3a3...pnann=p_1^{a_1}p_2^{a_2}p_3^{a_3}...p_n^{a_n}n=p1a1p2a2p3a3...pnan
σ(n)=(1+p1+p12+...+p1a1)(1+p2+p22+...+p2a2)...(1+pn+pn2+...+pnan)\sigma(n)=(1+p_1+p_1^2+...+p_1^{a_1})(1+p_2+p_2^2+...+p_2^{a_2})...(1+p_n+p_n^2+...+p_n^{a_n})σ(n)=(1+p1+p12+...+p1a1)(1+p2+p22+...+p2a2)...(1+pn+pn2+...+pnan)
若pi=2p_i=2pi=2,则(1+2+22+..+2ai)(1+2+2^2+..+2^{a_i})(1+2+22+..+2ai)一定为奇数
若pi>2p_i>2pi>2,则当且仅当aia_iai为偶数时,(1+pi+pi2+...+piai)(1+p_i+p_i^2+...+p_i^{a_i})(1+pi+pi2+...+piai)。因为除了2之外的素数都是奇数,奇数个奇数相加为奇数,偶数个奇数相加为偶数。
奇数相乘仍为奇数,奇数乘偶数为偶数。
若想让σ(n)\sigma(n)σ(n)为奇数,则n=p1a1p2a2p3a3...pnann=p_1^{a_1}p_2^{a_2}p_3^{a_3}...p_n^{a_n}n=p1a1p2a2p3a3...pnan中pi>2p_i>2pi>2的每项aia_iai都要是偶数。
现考虑包含素因子2的情况
1、若p1=2p_1=2p1=2且a1a_1a1为偶数,那么n一定是完全平方数。
2、若p1=2p_1=2p1=2且a1a_1a1为奇数,那么n一定可以表示为完全平方数*2。
3、若p1>2p_1>2p1>2,那么n一定是完全平方数。
所以σ(n)\sigma(n)σ(n)为奇数当且仅当n=x2n=x^2n=x2或n=2x2n=2x^2n=2x2。所以1-n中σ(n)\sigma(n)σ(n)为奇数的个数为num=n+n2num=\sqrt n+\sqrt{\frac{n}{2}}num=n+2n。
题目的答案即为n−⌊n⌋−⌊n2⌋n-\lfloor\sqrt n\rfloor-\lfloor\sqrt{\frac{n}{2}}\rfloorn−⌊n⌋−⌊2n⌋