已知Ackerman函数定义如下:(1)根据定义,写出它的递归求解算法;(2)利用栈,写出它的非递归求解
已知Ackerman函数定义如下:
(1)根据定义,写出它的递归求解算法;
(2)利用栈,写出它的非递归求解算法。
已知Ackerman函数定义如下:
(1)根据定义,写出它的递归求解算法;
(2)利用栈,写出它的非递归求解算法。
设有如下函数定义 intfun(intk) { if(k<1)return0: elseif(k=1)return1; elsereturnfun(k-1)+1; } 若执行调用语句:n=fun(3);则函数fun总共被调用的次数是
A.2
B.4
C.3
D.5
(组合变换的互逆公式)设g(k)代表任一函数而f(n)的定义如下:
(1)
则得
(2)
此处f(0)=g(0).反之由(2)亦可推出(1).
已知某数据区DATA的定义如下:
ORG 10H
DATA:DB 158,120,138,21
DB 244,14,143,180
NUM EQU $-DATA
MIN: DS 1
试编写一个程序,找出数据区DATA中的最小数,并将它放到变量MIN中。
A.4
B.1
C.0
D.400
已知非线性系统结构图如图8-11所示,描述该系统的动态方程如下:
试求: (1)G1(s)、G2(s),画出非线性环节的输入输出特性关系曲线。 (2)用描述函数法研究系统的稳定性,若有白振,试求出自振参数。
该程序检查由#define所定义的文本文件中花括号是否配对。函数check完成检测功能,所遵循的原则如下。
①检测过程中,不能出现右花括号“}”个数多于左花括号“{”个数,如果该情况发生,则返回-1。
②整个文件检测完成后,若右花括号“}”个数等于左花括号“{”个数,则返回0,否则返回1。
③检测的行数记录在n所指向的变量中。
#include<stdio.h>
#define file "c:\\bc31\\bin\\match.c"
int check(FILE*, int*)
void main()
{ int line;
FILE*fp=fopen(______);
switch(check(______))
{case 0:printf("file%s match correctly\n",file); break;
case 1:printf("file%s missing)on%d line\n",file,line);break;
case-1:printf("file%s missing{on%d line\n",file,line }; break;
}
fclose(fp);
}
int check(FILE*fp, int*n)
{ int left=0, right=0,line=0;
char c;
while((c=fgetc(fp))!=EOF)
{ if(c=='{')
left++;
else if(c=='}')
right++;
else if(c=='\n')
*n=++line;
if(______)
return -1;
}
return______;
}
已知含有4个元素的字节数组定义如下所示:
XA: DB x1,x2,x3,x4
试编写一个程序段,将其中的元素排列顺序颠倒过来。
在(0,1]上定义函数f(x)如下:若x∈(0,1]在十进位小数表示式(采用无穷位小数表示)为
x=0.a1a2…ak…,
则令f(x)=max{ak:k∈N},试证明f(x)在(0,1]上可测.
A.Fun(int y,double m);
B.k=Fun(10,12.5);
C.k=void Fun(a,b);
D.Fun(a,b);