计算区间[m,n]内所有整数的莫比乌斯函数值之和
类型:程序题

基本定义

  1. 因数:也称约数,如果整数a除以整数b,商为整数且余数为0,则称b是a的因数。例如:1、2、3、6都是6的因数。
  2. 素数:也称质数,是指在大于1的自然数中,除了1和它本身以外没有其他因数的数。例如:2、3、5是素数,4、6、8不是素数。
  3. 平方数:指可以写成某个整数的平方的数。例如:4(2²)、9(3²)、16(4²)都是平方数。

莫比乌斯函数定义

莫比乌斯函数μ(n)的定义如下:

  1. 若n=1,则μ(n)=1;
  2. 若n的因数中有大于1的平方数,则μ(n)=0;
  3. 若n的因数中没有大于1的平方数,且n = p₁p₂…pₖ(p₁到pₖ为k≥1个不同素数),则μ(n)=(-1)^k。

示例

  • 8的因数有1、2、4、8,其中大于1的平方数有4,所以μ(8)=0;
  • 15的因数有1、3、5、15,没有大于1的平方数,且15=3×5,所以μ(15)=(-1)²=1;
  • 30的因数有1、2、3、5、6、10、15、30,没有大于1的平方数,且30=2×3×5,所以μ(30)=(-1)³=-1。

题目要求

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

输入格式

一行输入两个正整数m和n(1 ≤ m ≤ n ≤ 2×10⁷),整数之间以一个空格隔开。

输出格式

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

输入样例

1 10

输出样例

-1
代码编辑器 加载中...
测试用例(F10) 运行测试(F11) 提交答案(F12)
测试用例输入
{{resultStatus.text}}