「神奇的数字」n²:把 n² 拆成左右两段 nl、nr,若 nl+nr==n 则为神奇数字。统计小于 N 的此类数字个数,横线处应填入:
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') {
int nl = std::stoi(s.substr(0, i));
int nr = std::stoi(s.substr(i));
if (________) // 在此处填入选项
cnt++;
}
}
return cnt;
}
- A. nl + nr == n
- B. nl + nr == n2
- C. (nl + nr) * (nl + nr) == n
- D. (nl + nr) ^ 2 == n2
正确答案:A