对象项目 | DNA 计算计 | 常规计算机 | |
A | 性能 | 寿命很短,不实用 | 寿命长,实用 |
B | 结构 | 像算盘那样由一串串算珠(DNA键)组成 | 由键盘(输入设备)、中央处理器和显示器(输出设备)组成 |
C [判断题]国际上有除去标准水分,加上实际所含水分以求得重量的算法,这种算法计算出的重量即称为公量。 ( )
[单项选择]
计算N!的递归算法如下,求解该算法的时间复杂度时,只考虑相乘操作,则算法的计算时间T(n)的递推关系式为(27);对应时间复杂度为(28)。 A. T(n)=T(n-1)+1 B. T(n)=T(n-1) C. T(n)=2T(n-1)+1 D. T(n)=2T(n-1)-1 [填空题]算法的计算量的大小称为计算的 【1】 。
[单项选择]确定算法是解决问题的关键步骤之一。算法的计算工作量大小称为计算的______。
A. 实现性 B. 时间复杂度 C. 空间复杂度 D. 困难度 [多项选择]采用系数折算法计算定额变动差异时,需要的指标有______
A. 按新定额计算的单位产品成本 B. 定额变动差异 C. 按旧定额计算的单位产品成本 D. 定额差异 E. 定额成本 [单项选择]施工成本分析的基本方法包括比较法、因素分析法、差额计算法、比率法等,其中需要确定分析对象,并计算出实际数与目标数差异的是()。
A. 比较法 B. 因素分析法 C. 差额计算法 D. 比率法 [简答题][说明]
下面的程序利用递归算法计算x和y的最大公约数。 [函数2.1] main ( ) int x,y,k,t; scanf(" % d% d" , &x, &y); if(x>y) t=x;x=y; y=t; (1) ; while(k! =0) y=x; (2) ; k=y%x; prinff( "% d" ,x); [函数2.2说明] 函数fun(char *str,char *substr的功能是计算子串sugbstr在串str中出现的次数。 [函数2.2] fun(ehar * str, char * substr) int x,y,z; (3) ; for(x=0;str[ x] ! = ’/O’;x + + ) for(y=x,z=0;sabstr[z] = =str[y]; (4) ,y+ +) if( (5) = =’/0’) num + +; break; return(num); [简答题]请编写一个函数comm(int n,int k),该函数将用递归算法计算从n个人中选择k个人组成一个委员会的不同组合数,由n个人里选k个人的组合数=由(n-1)个人里选k个人的组合数+由(n-1)个人里选(k-1)个人的组合数。
注意:部分源程序已存在文件test41_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数comm的花括号中填写若干语句。
源程序文件test41-2.cpp清单如下:
#include<iostream.h>
int comm(int n, int k)
{
}
void main ( )
{
int n=7, k=3;
cout<<"n=7,k=3"<<endl;
cout<<comm(n,k)<<endl;
}
[简答题]下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1,1,2,3,5,8,13,21,…
请改正程序中的错误,使它能得出正确结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include < stdio.h > long fun (int g) /**********found********** / switch (g); case 0 :return 0; /**********found********** / case 1; case 2 : return 1; return (fun (g-1)+fun (g-2)); void main ( ) long fib; int n; printf ("Input n:"); scanf ("% d", &n); printf ("n=%d/n", n); fib=fun (n); printf(" fib=% d/n/n", fib); [简答题]下列给定程序中,函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1,1,2,3,5,8,13,21,…
例如,若给n输入7,则该项的斐波拉契数值为13。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> long fun(int g) /********found********/ switch(g); case oreturn 0; /********found********/ case 1;case 2;return 1; return(fun(g-1)+fun(g-2)); void main( ) long fib;int n; printf("Input n:"); scanf("%d".&n); printf("n=%d/n",n); fib=fun(n); printf("fib=%d/n/n",fib); 我来回答: 提交
|