下面算法段所需计算时间的下界为( )。 其中odd(n),判断n是否为奇数,若是则返回值为真,否则为假。 while(n>1) if(odd(n)) n=3*n+1; else n=n/2;。
A: 3n
B: logn
C: n2
D: n3
A: 3n
B: logn
C: n2
D: n3
举一反三
- 【单选题】给出4n^2、logn、3^n、20n、 2、n^2/3、 n!的时间复杂度排序(升序)。 A. 4n^2、logn、3^n、20n、 2、n^2/3, n! B. 2, logn,n^2/3, 20n, 4n^2, 3^n, n! C. n! 、 3^n、 4n^2、logn、20n、 2、n^2/3 D. 2 、 n^2/3 、4n^2、logn、3^n、20n、 n!
- 请计算下述时间复杂度函数的上界: (1)3n^2+10n (2)n^2/10+2^n (3)21+1/n (4)logn^3 (5)10log3^n
- 可以写一个表达式,当“n是奇数”时,其值为真,否则为假。这个表达式不能是________。 A: n%2=1 B: n/2==1 C: n%2 D: n%2==1
- 下列算法的时间复杂度为n=n*n;while(n<0)n++;n=n*2;() A: O(1) B: O(n) C: O(n^(1/2)) D: O(n^2)
- 3n+1问题反映一个数学猜想:对任一自然数n,按如下法则进行运算:若n为偶数,则将n除2,若n为奇数,则将n乘3加1。重复这种操作,结果终会为1。实验程序如下。 n=input('请输入一个大于0的自然数:'); N=n; while n~=1 r=rem(n,2); if r==0 n=n/2; else n=3*n+1; end N=[N,n]; end disp(N); 实验程序运行过程中