在这里,我们将看到如何计算在范围内的互质数对的数量,其中一个数不会出现多于一对。
在讨论逻辑之前,让我们看看什么是互质数?互质数是那些只有一个正整数约数(即1)的数。换句话说,我们可以说这两个数的最大公约数是1。
在这里,我们提供了下限和上限。如果下限和上限分别为1和6,那么有三对数。它们是(1,2),(3,4)和(5,6)
解决这个问题的方法是:如果这些数是连续的,它们就是互质数对。
总是互质的。因此计数将为 (R – L + 1)/2。如果 (R – L + 1) 是奇数,则有 1
剩下的数字,不会放入任何对中,如果是偶数,则所有都会成为对
算法
countCoPrimePairs(L, R)
Begin
return (R – L + 1)/2
End
登录后复制
示例
#include
using namespace std;
int countCoPrimePairs(int L, int R) {
return (R - L + 1)/2;
}
main() {
int l = 1, r = 6;
cout