LightOJ 1336

博客探讨了如何确定1到n中约数和(σ(x))为偶数的个数,通过分析素数分解和奇偶性原理,得出结论:当n为完全平方数或2倍完全平方数时,σ(n)为奇数。答案是n减去小于等于n的完全平方数数量再减去小于等于2n的完全平方数数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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...pnanpi>2p_i>2pi>2的每项aia_iai都要是偶数。
现考虑包含素因子2的情况
1、若p1=2p_1=2p1=2a1a_1a1为偶数,那么n一定是完全平方数。
2、若p1=2p_1=2p1=2a1a_1a1为奇数,那么n一定可以表示为完全平方数*2。
3、若p1>2p_1>2p1>2,那么n一定是完全平方数。

所以σ(n)\sigma(n)σ(n)为奇数当且仅当n=x2n=x^2n=x2n=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}}\rfloornn2n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值