查询以计算C ++中从1到N的无序互素对的数量
在此问题中,我们给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函数为,
$$
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西