本文整理汇总了C++中BigInteger::isEven方法的典型用法代码示例。如果您正苦于以下问题:C++ BigInteger::isEven方法的具体用法?C++ BigInteger::isEven怎么用?C++ BigInteger::isEven使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BigInteger
的用法示例。
在下文中一共展示了BigInteger::isEven方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gcd
friend BigInteger gcd(BigInteger a, BigInteger b) {
int powerOf2 = 0;
a.sign = 1;
b.sign = 1;
while(!b.isZero() && !a.isZero()) {
while(a.isEven() && b.isEven()) {
a /= 2;
b /= 2;
++powerOf2;
}
while(a.isEven()) {
a /= 2;
}
while(b.isEven()) {
b /= 2;
}
a -= b;
if(a.sign != 1){
a.sign = 1;
std::swap(a, b);
}
}
return pow(BigInteger(2), powerOf2) * (a.isZero() ? b : a);
}