下面 count_triple 函数的时间复杂度为:
int count_triple(int n) {
int cnt=0;
for (int a=1;a<=n;a++)
for (int b=a;a+b<=n;b++)
for (int c=b;a+b+c<=n;c++)
if (a*a+b*b==c*c) cnt++;
return cnt;
}
- A. O(n)
- B. O(n²)
- C. O(n³)
- D. O(2ⁿ)
正确答案:C
int count_triple(int n) {
int cnt=0;
for (int a=1;a<=n;a++)
for (int b=a;a+b<=n;b++)
for (int c=b;a+b+c<=n;c++)
if (a*a+b*b==c*c) cnt++;
return cnt;
}
正确答案:C
想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?
进入 GESPPASS 开始练习