在此问题中,我们给Q个查询每个包含一个数字N。我们的任务是创建一个程序来解决查询,以计算C ++中从1到N的无序互质对的数量。
互素数也称为相对素数或互素数是一对只有一个因数即1的数字。
让我们举个例子来了解这个问题,
输入:Q = 2,查询= [5,6]
输出:10
这些对是:(1、1),(1、2),(1、3),(1、4),(1、5),(2、3),(2、5),(3、4 ),(3、5),(4、5)
解决该问题的最有希望的方法是使用Euler的Totient函数phi(N)。phi(N)计算出给定值N之前的互素数总数。欧拉的totient函数为,
$$