在C ++中给定条件下改变时找到最终的X和Y
考虑我们有两个正整数X和Y的初始值。找到X和Y的最终值,这样将会有一些变化,如下-
步骤1-如果X=0和Y=0,则终止过程,否则转到步骤2
步骤2-如果X>=2Y,则设置X=X–2Y,然后转到步骤1,否则转到步骤3
步骤3-如果Y>=2X,则设置Y=Y–2X,然后转到步骤1,否则结束该过程。
X和Y的值将在[0和1018]范围内,因此我们可以使用蛮力方法。
示例
#include<iostream>
using namespace std;
void alterNumber(long long x, long long y) {
while (1) {
if (x == 0 || y == 0)
break;
if (x >= 2 * y)
x = x % (2 * y);
else if (y >= 2 * x)
y = y % (2 * x);
else
break;
}
cout << "X: " << x << "\n" << "Y: " << y;
}
int main() {
long long x = 12, y = 5;
alterNumber(x, y);
}输出结果
X: 0 Y: 1
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短