#B8173. 莫比乌斯函数值求和

莫比乌斯函数值求和

题目描述

因数: 也称约数,如果整数 aa 除以整数 bb,商为整数且余数为 00,则称 bbaa 的因数。例如: 12361、2、3、6 都是 66 的因数。

素数: 也称质数,是指在大于 11 的自然数中,除了 11 和它本身以外没有其他因数的数。例如: 2352、3、5 是素数,4684、6、8 不是素数。

平方数: 指的是可以写成某个整数的平方的数。例如: 4(22)4(2^2)9(32)9(3^2)16(42)16(4^2) 都是平方数。

莫比乌斯函数 μ(n)μ(n) 是指以下的函数:

  1. n=1n=1, 则 μ(n)=1μ(n)=1;
  2. nn 的因数中有大于 11 的平方数,则 μ(n)=0μ(n)=0;
  3. nn 的因数中没有大于 11 的平方数,且 n=P1,P2Pkn=P_1,P_2 … P_k,则 μ(n)=(1)kμ(n)=(-1)^k。 注: P1,P2PkP_1,P_2 … P_k 表示 k(k1)k(k \ge 1) 个不同素数的乘积。

例如:

88 的因数有 12481、2、4、8,其中大于 11 的平方数有 44,所以 μ(8)=0μ(8)=0

1515 的因数有 135151、3、5、15,没有大于 11 的平方数,且 15=3×515=3 \times 5,所以 μ(15)=(1)2=1μ(15)=(-1)^2=1

3030 的因数有 123561015301、2、3、5、6、10、15、30,没有大于 11 的平方数,且 30=2×3×530=2\times 3 \times 5,所以 μ(30)=(1)3=1μ(30)=(-1)^3 = -1

给定两个正整数 mnm、n,请计算 mmnn 之间(含 mmnn)所有整数的莫比乌斯函数值之和。

输入格式

一行输入两个正整数 mmn(1mn2×107)n(1≤m≤n≤2\times 10^7),整数之间以一个空格隔开。

输出格式

输出一个整数,表示 mmnn 之间(含 mmnn)所有整数的莫比乌斯函数值之和。

1 10
-1