在给定范围内找到一个不同的对(x,y),以便x在C ++中将y分开

在这里,我们将看到一个有趣的问题,我们将找到一个对(x,y),其中x和y在范围内,因此l <= x,y <= r,该对将具有一个属性,x的值除以y 。如果有多对可用,则仅选择一对。

如果我们获得下限l和2l的值,则可以在O(1)时间内解决此问题。我们知道y / x的最小值可以是2,并且如果该范围内存在更大的值,则2将会在范围内。如果我们增加x,它也会增加2x,因此l和2l将是落入给定范围内的最小对。

示例

#include<iostream>

using namespace std;

void getPair(int l, int r) {

   int x = l;

   int y = 2 * l;

   cout << "(" << x << ", " << y << ")" << endl;

}

   int main() {

   int l = 3, r = 6;

   getPair(l, r);

}

输出结果

(3, 6)

以上是 在给定范围内找到一个不同的对(x,y),以便x在C ++中将y分开 的全部内容, 来源链接: utcz.com/z/316861.html

回到顶部