网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

假设n为2的乘幂,并且n>2,试求下列算法的时间复杂度(以n的函数形式表示)。 int Time(int n) { count = 0; x=2; while(x

假设n为2的乘幂,并且n>2,试求下列算法的时间复杂度(以n的函数形式表示)。 int Time(int n) { count = 0; x=2; while(x

参考答案和解析
O(Log2n)Count=k=(Log2n-2)
更多 “假设n为2的乘幂,并且n>2,试求下列算法的时间复杂度(以n的函数形式表示)。 int Time(int n) { count = 0; x=2; while(x假设n为2的乘幂,并且n>2,试求下列算法的时间复杂度(以n的函数形式表示)。 int Time(int n) { count = 0; x=2; while(x” 相关考题
考题 以下程序的输出结果是 【 17 】 。int fun(int *x,int n){ if(n==0) return x[0];else return x[0]+fun(x+1,n-1);}main( ){ int a[]={1,2,3,4,5,6,7}; printf("%d\n",fun(a,3));}

考题 以下程序的输出结果是______nt fun(int*x,int n){if(n==0)return x[0];else return x[0]+fun(x+1,n-1);}main(){int a[]={1,2,3,4,5,6,7};printf(“%d\n”,fun(a,3));}

考题 对输入一个整数进行判断,若是偶数,输出even,否则输出odd,在子函数fun2功能是判定整数是否为偶数,若是偶数,返回1,否则返回0int fun2(int x){if(x%2==0);return 0;}main(){int n;scanf("%d",n);ifprintf("even\n");else printf(odd\n");}

考题 ●试题四阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【程序4.1说明】"背包问题"的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,...,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。如下程序均能求得"背包问题"的一组解,其中程序4.1是"背包问题"的递归解法,而程序4.2是"背包问题"的非递归解法。【程序4.1】#includestdio.h#define N 7#define S 15int w[N+1]={0,1,4,3,4,5,2,7};int knap(int s,int n){ if(s==0)return 1;if (s0||(s0 n1))return 0;if( (1) )){printf(″%4d″,w[n]);return 1;}return (2) ;}main(){if( knap(S,N))printf(″OK!\n″);else printf(″N0!\n″);}【程序4.2】#includestdio.h#define N 7#define S 15typedef struct {int s;int n:int job;} KNAPTP;int w[N+1]={0,1,4,3,4,5,2,7};int knap (int s,int n);main( ) {if (knap (S,N)) printf (″OK!\n″);else printf (″NO!\n″);}int knap (int s,int n){ KNAPTP stack[100],x;int top,k,rep;x.s=s;x.n=n;x.job=0;top=l;stack[top]=x;k=0;while( (3) ) {x=stack [ top ];rep=1;while ( !k rep ) {if (x.s==0)k=1;/*已求得一组解*/else if (x.s0 || x.n =0)rep=0;else{x.s= (4) ;x.job=1;(5) =x;}}if(!k){rep=1;while(top=1rep){x=stack[top--];if(x.job==1){x.s+=w[x.n+1];x.job=2;stack[++top]=x;(6) ;}}}}if(k){/*输出一组解*/while(top=1){x=stack[top--];if(x.job==1)printf(″%d\t″,w[x.n+1]);}}return k;}

考题 函数int factors(int n)的功能是判断整数n(n>=2)是否为完全数。如果n是完全数,则函数返回0,否则返回-1。所谓“完全数”是指整数n的所有因子(不包括n)之和等于n自身。例如,28的因子为1,2,4,7,14,而28=1+2+4+7+14,因此28是“完全数”。[C函数1]int factors(int n){ int i,s;for(i=1,s=0;i<=n/2;i++)if(n%i=0) (1)______;if( (2)______ )return 0;rerurn-1;}[说明2]函数int maxint(int a[],int k)的功能是用递归方法求指定数组中前k个元素的最大值,并作为函数值返回。[C函数2]int maxint(int a[],int k){ int t;if( (3)_____ ) return (4)_______;t=maxint(a+1, (5)______ );return(a[0]>t)?a[0]:t;}

考题 下面程序的运行结果是【】。 inChlde using namespace std; class count { static int n; 下面程序的运行结果是【 】。inChlde<iOStream>using namespace std;class count{static int n;public:count(){n++;}static int test(){for(int i=0:i<4;i++)n++;return n;}};int count::n=0;int main(){cout<<COUnt::test()<<" ";count c1, c2;cout<<count::test()<<end1;return 0;}

考题 阅读下列程序说明和C++代码,将应填入(n)处。【说明】“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1;w2,……,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。如下程序均能求得“背包问题”的一组解,其中程序4.1是“背包问题”的递归解法,而程序4.2是“背包问题”的非递归解法。【程序4.1】include<stdio.h>define N 7define S 15int w[N+1]={0,1,4,3,4,5,2,7};int knap(int s,int n){ if(s==0)return 1;if(s<0||(s>0 n<1))return 0;if((1)))|printf("%4d",w[n]);return 1;} return (2);}main(){if(knap(S,N))printf("OK!\n");else printf("NO!\n");}【程序4.2】include<stdio.h>define N 7define S 15typedef struct{int s;int n:int job;} KNAPTP;int w[N+1]={0,1,4,3,4,5,2,7};int knap(int s,int n);main(){if(knap(S,N))printf("OK!\n");else printf("NO!\n");}int knap(int s,int n){ KNAPTP stack[100],x;int top,k,rep;x.s=s;x.n=n;x.job=0;top=|;Stack[top]=x;k=0;while((3)){x=Stack[top];rep=1;while(!k rep){if(x.s==0)k=1;/*已求得一组解*/else if(x.s<0||x.n <=0)rep=0;else{x.s=(4);x.job=1;(5)=x;}}if(!k){rep=1;while(top>=1rep){x=stack[top--];if(x.job==1){x.s+=W[x.n+1];x.job=2;Stack[++top]=x;(6);}}}}if(k){/*输出一组解*/while(top>=1){x=staCk[top--];if(x.job==1)printf("%d\t",w[x.n+1]);}}return k;}

考题 ( 27 )有如下程序:#include iostreamusing namespace std;class Toy{public:Toy(char* _n) { strcpy (name,_n); count++;}~Toy(){ count--; }char* GetName(){ return name; }static int getCount(){ return count; }private:char name[10];static int count;};int Toy::count=0;int mail(){Toy t1("Snoopy"),t2("Mickey"),t3("Barbie");coutt1.getCount()endl;return 0;}运行时的输出结果是A ) 1B ) 2C ) 3D )运行时出错

考题 以下程序的输出结果是includein[fun(int n,int *s){int n,f2;if(n==0‖n==1)*s=1;else{ 以下程序的输出结果是 #include<stdio.h> in[fun(int n,int *s) {int n,f2; if(n==0‖n==1) *s=1; else {fun(n-1,f1); fun(n-2,f2); *s=f1+f2; }} void main() { int x; fun(6,x); pfintf("\n%d",x);}A.7B.13C.9D.10

考题 有如下程序:includeusing namespace std;class Base{int x;public:Base(int n=0):x(n 有如下程序: #include<iostream> using namespace std; class Base{ int x; public: Base(int n=0):x(n){cout<<n;} int getX( )const{return x;} }; class Derived:public Base{ int y; public: Derived(int m,int n):y(m),Base(n){tout<<m;} Derived(int m):y(m){cout<<m;} }; int main( ){ Derived dl(3),d2(5,7); return 0; } 程序的输出结果是A.375B.357C.0375D.0357

考题 阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,…,wn。希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。如下程序均能求得“背包问题”的一组解,其中程序1是“背包问题”的递归解法,而程序2是“背包问题”的非递归解法。【程序1】include<stdio.h>define N 7define S 15int w[N+1]={0,1,4,3,4,5,2,7};int knap(int s, int n){if(s==0) return 1;if(s<0 || (s>0 n<1))return 0;if((1)){/*考虑物品n被选择的情况*/printf("%4d",w[n]);return 1;}return (2);/*考虑不选择物品n的情况*/}main(){if(knap(S,N))printf("OK!\n");else printf("N0!\n");}【程序2】include<stdio.h>define N 7define S 15typedef struct{int s;int n;int job;}KNAPTP;int w[N+1]={0,1,4,3,4,5,2,7};int knap(int s, int n);main(){if(knap(S,N)) printf("0K!\n");else printf("N0!\n");}int knap(int s, int n){KNAPTP stack[100],x;int top, k, rep;x.s=s;x.n=n;x.job=0;top=1; stack[top]=x;k=0;while( (3) ){x=stack[top];rep=1;while(!k rep){if(x.s==0) k=1;/*已求得一组解*/else if(x.s<0 || x.n<=0) rep=0;else{x.s=(4);x.job=1;(5)=x;}}/*while*/if(!k){rep=1;while(top>=1 rep){x=stack[top--];if(x.job==1){x.s +=w[x.n+1];x.job=2;stack[++top]=x;(6);}/*if*/}/*while*/}/*if*//*while*/if(k){&nbs

考题 下面程序的运行结果是【】。 include using namespace std; class count{ static int n; 下面程序的运行结果是【 】。include <iostream>using namespace std;class count{static int n;public:count(){n++;}static int test(){for(int i=0;i<4;i++)n++;return n;}};int count::n = O;int main(){cout<<count:: test()<<" ";count c1, c2;cout<<count:: test()<<endl;return 0;}

考题 下面程序的执行结果是【】。include void main(){int n=0,x=0;do{n++;if(n%3==2do{n++;if(n%3==2n%5==3n%7==2)x=1;}while(x!=1);cout<<"n=" <<n<<end1;}

考题 以下程序的输出结果是【 】。main(){ int x=0;sub(x,8,1);printf(“%d\n”,x);}sub(int *a,int n,int k){ if(k<=n)sub(a,n/2,2*k);*a+=k;}

考题 下面算法的时间复杂度为(34)。 int f(unsigned int n){ if(n=0||n==1)return 1; else return n*f(n-1); }A.O(1)B.O(n)C.O(n2)D.O(n!)

考题 阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]编写一个函数,输入为偶数时,调用函数求1/2+?/+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n (利用指针函数)。[函数]include "stdio. h",main(){float peven (),podd (),dcall ();float sum;int n;while (1){scanf("%d",n);if (n>1)break;}if(n%2==0){printf("Even="):(1);}else{pfinff("Odd=");(2);}printf("%f",sum);}float peven (int n){float s;int is=1;for(i=2;i<=n;i+=2)(3);return (s);}float podd (n)int n;{float s;int i;s=0;for(i=1 i<=n;i+=2)(4);return (s);}float dcall(fp,n)float (*fp) ();int n;{float s;(5);returu (s);}

考题 有如下程序:#includeiostreamusing namespace std;class Toy{public:Toy(char*_n){strcpy(name,_n);count++;}~Toy()}count--;}char*GetName(){return name;}static int getCount(){return count;}private:char name[10];static int count;};int Toy::count=O:int main(){Toy tl(“Snoopy”),t2(“Mickey”),t3(“Barbie”);coutt1.getCount()endl;return O:}运行时的输出结果是A.1B.2C.3D.运行时出错

考题 阅读下列函数说明和C代码,将应填入 处的字句写在答题纸的对应栏内。[函数1.1说明]函数int factors(int n)的功能是判断整数n(n=2)是否为完全数。如果n是完全数,则函数返回0,否则返回-1。所谓“完全数”是指整数n的所有因子(不包括n)之和等于n自身。例如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28是“完全数”。[函数1.1]int factors(int n){int i,s;for(i=1,s=0;i=n/2;i++)if(n%i==0) (1) ;if( (2) )return 0;return -1;}[函数1.2说明]函数int maxint(int a[], int k)的功能是用递归方法求指定数组中前k个元素的最大值,并作为函数值返回。[函数1.2]int maxint(int a[],int k){int t;if( (3) ) return (4) ;t=maxint(a+1, (5) );return (a[0]t)?a[0]:t;

考题 以下程序通过函数sunFun求。这里f(x)=x2+1main( ){ printf("The sum=%d\n",SunFun(10)); }SunFun(int n){ int x,s=0;for(x=0;x<=n;x++) s+=F(【 】);return s;}F( int x){ return 【 】);}

考题 以下程序的输出结果是()。includeint fun(int n,int *s){ int f1,f2;if(n==0||n==1)*s= 以下程序的输出结果是( )。 #include<stdio.h> int fun(int n,int *s) { int f1,f2; if(n==0||n==1) *s=1; else { fun(n-1,f1); fun(n-2,f2); *s=f1+f2; } } void main() { int x; fun(6,x); printf("\n%d" ,x);}A.7B.13C.9D.10

考题 有以下程序:include using namespace std;class count{ static int n;public: count 有以下程序: #include <iostream> using namespace std; class count { static int n; public: count ( ) { n++; } static int test() { for (int i = 0; i < 4; i++ ) n++; return n; } }; int count :: n = 0; int main() { cout<<count :: test()<<" "; count c1, c2; cout<<count :: test()<<end1; return 0; } 执行后的输出结果是( )。A.4 10B.1 2C.22D.24

考题 int Calc(unsigned int x){int count=0;while(x){printf("x=%i\n",x);count++;x=x(x-1);}return count;}问 Calc(9999)的值是多少。

考题 有如下程序:includeusing namespace std;class Toy{public:Toy(char*_n){strcpy(name 有如下程序: #include<iostream> using namespace std; class Toy{ public: Toy(char*_n){strcpy(name,_n);count++;} ~Toy(){count--;} char*GetName( ){return name;} static int getCount( ){return count;} private: char name[10]; static int count; }; int Toy::count=0: int main( ){ Toy tl("Snoopy"),t2("Mickey"),t3("Barbie"); cout<<t1.getCount( )<<endl; return 0; } 程序的输出结果是A.1B.2C.3D.运行时出错

考题 以下程序的输出结果是______。 main () { int x=5,n=3,s,j; for(j=0;j<2;j++) { s=fun(x,n); printf("%d",s); } } fun(int a,int b) { static int n=0,i=2; i=n+1; n=i+a-b; return(n); }A.3 7B.3 5C.3 6D.3 3

考题 下列函数中,哪项是正确的递归函数( )。A int Fun(int n){if(n<1) return 1;else return n*Fun(n+1);}B) int Fun(ira n){if(abs(n)<1) return 1;else return n*Fun(n/2);}C) int Fun(int n){if(n>1) return 1;else return n*Fun(n*2)1}D) int Fun(int n){if(n>1) return 1;else retun n*Fun(n-1);}A.AB.BC.CD.D

考题 在下面程序运行后,输出结果为 ______。includevoid count(int x[],int n,int y 在下面程序运行后,输出结果为 ______。 #include<iostream.h> void count(int x[],int n,int y){ int k; y=0; for(k=0:k<n;k++) if(x[k]<0) y++; } void main(){ int b[]={2,1,-8,-3,7,2,4,6,0,-13}; int x; count(b,10,x); cout<<“x”<<x<<end1; }A.x=3B.x=5C.出错D.x=0

考题 设有一个递归算法如下: int fact(int n) {  //n大于等于0               if(n=0) return 1;               else return n*fact(n-1);        }  则计算fact(n)需要调用该函数的次数为()A、 n+1B、 n-1C、 nD、 n+2

考题 单选题下列程常段的时间复杂度是()count=0;for(k=1;k=n;k*=2)for(j=1;j=n;j+1)count++;A O(log2n)B O(n)C O(nlog2n)D O(n2)