在给定范围内找到一个不同的对(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