关于时间复杂度的一个问题
查看原帖
关于时间复杂度的一个问题
1378783
DESTRUCTION_WA楼主2024/7/29 09:49

为什么我感觉我的程序时间复杂度是O(n⋅⌈n ⌉)O(n\cdot\lceil\sqrt{n}\,\rceil)啊?

#include <bits/stdc++.h>
using namespace std;
int prime(int n){
    for(int i = 2;i <= ceil(sqrt(n));i++){
        if(n % i == 0){
            return 0;
        }
    }
    return 1;
}
int main() {
    
    int n,sum = 0;
    cin >> n;
    for(int i = 2;i <= n;i++){
        if(prime(i) == 1){
            sum++;
        }
    }
    cout << sum;
    
    return 0;
}

并且还错了!! 救救我!!!

2024/7/29 09:49
加载中...