当前位置: 首页>>代码示例>>C++>>正文


C++ BigInteger::numberOfDigits方法代码示例

本文整理汇总了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;
      }
    }
  }
}
开发者ID:PeteyPii,项目名称:Euler,代码行数:28,代码来源:Problem104.cpp

示例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;
}
开发者ID:Sailanarmo,项目名称:BigInteger,代码行数:15,代码来源:BigInteger.cpp


注:本文中的BigInteger::numberOfDigits方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。