第21474题 单选
以下用于统计小于N的神奇数字个数的C++函数,其时间复杂度为()

2025是个神奇的数字,因为它是由两个数20和25拼接而成,且2025=(20+25)²。小杨编写程序统计小于N的正整数中这类神奇数字的个数,以下是对应的C++函数:

#include <string>
int count_miracle(int N) {
 int cnt = 0;
 for (int n = 1; n * n < N; n++) {
  int n2 = n * n;
  std::string s = std::to_string(n2);
  for (int i = 1; i < s.length(); i++)
   if (s[i] != '0') {
    std::string sl = s.substr(0, i);
    std::string sr = s.substr(i);
    int nl = std::stoi(sl);
    int nr = std::stoi(sr);
    if (_________) // 在此处填入选项
     cnt++;
   }
 }
 return cnt;
}
A

O(NlogN)

B

O(√N)

C

O(√N logN)

D

O(√N (logN)²)

提交0次 正确率0.00%
答案解析