#O3810. LQ.蓝桥杯.十五届.国赛.编程题.03.莫比乌斯函数

LQ.蓝桥杯.十五届.国赛.编程题.03.莫比乌斯函数

问题描述

因数:也称约数,如果整数 aa 除以整数 bb ,商为整数且余数为 00,则称 bbaa 的因数。

例如:1、2、3、6 都是 6 的因数。

素数:也称质数,是指在大于 11 的自然数中,除了 11 和它本身以外没有其他因数的数。例如: 2、3、5 是素数,4、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,P2....Pkn=P_1,P_2....P_k,则 μ(n)=(1)kμ(n)=(-1)^k 。注:P,P.....PP,P.....P 表示 k(k1)k(k \le 1) 个不同素数的乘积。

例如:

8 的因数有 1、2、4、8,其中大于 1 的平方数有 4,所以 μ(8)=0μ(8)=0;

15 的因数有 1、3、5、15,没有大于 1 的平方数,且 15=3 * 5,所以 μ(15)=(1)2=1μ(15)=(-1)^2 = 1;

30 的因数有1、2、3、5、6、10、15、30,没有大于 1 的平方数,且30=2*3*5,所以 μ(30)=(1)3=1μ(30)=(-1)^3=-1

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

输入描述

一行输入两个正整数 mmnn ( 1mn21071 \le m \le n \le 2*10^7 ),整数之间以一个空格隔开。

输出描述

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

样例

1 10
-1