#B4308. [蓝桥杯青少年组国赛 2024] 第三题

    ID: 13686 远端评测题 1000ms 512MiB 尝试: 1 已通过: 1 显示难度普及 上传者: 标签>2024素数判断,质数,筛法蓝桥杯青少年组

[蓝桥杯青少年组国赛 2024] 第三题

题目描述

因数:也称约数。如果整数 aa 除以整数 bb,商为整数且余数为 00,则称 bb 是 aa 的因数。例如:11、22、33、66 都是 66 的因数。

素数:也称质数,是指在大于 11 的自然数中,除了 11 和它本身以外没有其他因数的数。例如:22、33、55 是素数,44、66、88 不是素数。

平方数:指的是可以写成某个整数的平方的数。例如:44(222^2)、99(323^2)、1616(424^2)都是平方数。

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

  1. 若 n=1n = 1,则 μ(n)=1\mu(n) = 1;
  2. 若 nn 的因数中有大于 11 的平方数,则 μ(n)=0\mu(n) = 0;
  3. 若 nn 的因数中没有大于 11 的平方数,且 n=P1×P2×⋯×Pkn = P_1 \times P_2 \times \cdots \times P_k(其中 P1,P2,…,PkP_1, P_2, \ldots, P_k 为 kk 个不同的素数),则 μ(n)=(−1)k\mu(n) = (-1)^k。

例如:

  • 88 的因数有 11、22、44、88,其中大于 11 的平方数有 44,所以 μ(8)=0\mu(8) = 0;
  • 1515 的因数有 11、33、55、1515,没有大于 11 的平方数,且 15=3×515 = 3 \times 5,所以 μ(15)=(−1)2=1\mu(15) = (-1)^2 = 1;
  • 3030 的因数有 11、22、33、55、66、1010、1515、3030,没有大于 11 的平方数,且 30=2×3×530 = 2 \times 3 \times 5,所以 μ(30)=(−1)3=−1\mu(30) = (-1)^3 = -1。

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

输入格式

一行输入两个正整数 mm 和 nn(1≤m≤n≤2×1071 \leq m \leq n \leq 2 \times 10^7),整数之间以一个空格隔开。

输出格式

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

1 10
-1