本文整理汇总了C++中BigInteger::numberOfDigits方法的典型用法代码示例。如果您正苦于以下问题:C++ BigInteger::numberOfDigits方法的具体用法?C++ BigInteger::numberOfDigits怎么用?C++ BigInteger::numberOfDigits使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BigInteger
的用法示例。
在下文中一共展示了BigInteger::numberOfDigits方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
int32 problem104() {
BigInteger f1(1);
BigInteger f2(1);
int32 k = 2;
string front = "123456789";
string back = "123456789";
while (true) {
k++;
BigInteger temp = f1 + f2;
f1 = f2;
f2 = temp;
if (temp.numberOfDigits() < 18) {
continue;
}
for (int32 i = 0; i < 9; i++) {
back[i] = temp.getNthDigitFromRight(i) + '0';
}
if (isPandigital(back)) {
for (int32 i = 0; i < 9; i++) {
front[i] = temp.getNthDigitFromLeft(i) + '0';
}
if (isPandigital(front)) {
return k;
}
}
}
}
示例2: multiply
BigInteger multiply(BigInteger &x, int y, int pos = 0) {
int nx = x.numberOfDigits();
BigInteger z;
int carry = 0;
for (int i = 0; i < nx; i++) {
carry += x.getDigit(i) * y;
z.setDigit(pos++, carry % 10);
carry /= 10;
}
while (carry > 0) {
z.setDigit(pos++, carry % 10);
carry /= 10;
}
return z;
}