最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 【选择题】代码时间复杂度

    正文概述 陈老师   2026-01-20 15:40:08  

    代码时间复杂度

    1.1. 观察下面的代码,请问它的时间复杂度是多少?

    int func(int n,int m){
        int ans = 0;
        for(int i = 1; i <= n ; i++){
            int j = 0;
            while(j ++ <= m){
                if((i + j) % 2 == 1) ans ++;
            }
        }
        return ans;
    }
    

    {{ select(1) }}

    • O(nm)O(nm)
    • O(n)O(n)
    • O(n2)O(n ^ 2)
    • O(logn)O(logn)

    2.2. 观察下面的代码,请问它的时间复杂度是多少?

    int func(int n){
        int ans = 0;
        for(int i = 1; i <= n ; i++){
            for(int j = 1; j <= 10 ; j++){
                if(i % j == 0 && (i + j) % 2 == 1)
                    ans ++;
            }
        }
        return ans;
    }
    

    {{ select(2) }}

    • O(nm)O(nm)
    • O(n2)O(n^2)
    • O(n)O(n)
    • O(logn)O(logn)

    3.3. 观察下面的代码,请问它的时间复杂度是多少?

    void func(int n){
        int ans = 0;
        for(int i = 1; i <= n ; i++)ans += i;
        while(ans --){
            cout << ans << endl;
        }
    }
    

    {{ select(3) }}

    • O(nlogn)O(nlogn)
    • O(n2)O(n^2)
    • O(n)O(n)
    • O(logn)O(logn)

    4.4. 观察下面的代码,请问它的时间复杂度是多少?

    int func(int n){
        int ans = 0;
        for(int i = 1;i <= n ; i++){
            ans += i;
            break;
        }
        return ans;
    }
    

    {{ select(4) }}

    • O(1)O(1)
    • O(n2)O(n^2)
    • O(n)O(n)
    • O(logn)O(logn)

    5.5. 观察下面的代码,请问它的时间复杂度是多少?

    for(int i = 0; i < n ; i += 2){
        for(int j = 0; j < m; j += 2){
            cout  << i * j;
        }
    }
    

    {{ select(5) }}

    • O(nm)O(nm)
    • O(nm2)O(\frac{nm}{2})
    • O(nm4)O(\frac{nm}{4})
    • O(nm8)O(\frac{nm}{8})
    信息学奥赛网,一个优质的信息学奥赛学习资源平台!
    信息学奥赛网 » 【选择题】代码时间复杂度