当前位置:文档之家› 《计算机常用算法与程序设计案例教程》习题解答

《计算机常用算法与程序设计案例教程》习题解答

《计算机常用算法与程序设计案例教程》习题解答
《计算机常用算法与程序设计案例教程》习题解答

《计算机常用算法与程序设计案例教程》

习题解答提要

习题1

1-1 分数分解算法描述

把真分数a/b 分解为若干个分母为整数分子为“1”的埃及分数之和: (1) 寻找并输出小于a/b 的最大埃及分数1/c ; (2) 若c>900000000,则退出;

(3) 若c ≤900000000,把差a/b-1/c 整理为分数a/b ,若a/b 为埃及分数,则输出后结束。

(4) 若a/b 不为埃及分数,则继续(1)、(2)、(3)。 试描述以上算法。

解:设)(int a

b d = (这里int(x)表示取正数x 的整数),注意到1+<

b d ,有

)

1()1(1

1+-+++=d b b

d a d b

a

算法描述:令c=d+1,则 input (a,b) while(1)

{c=int(b/a)+1;

if(c>900000000) return; else

{ print(1/c+); a=a*c-b;

b=b*c; // a,b 迭代,为选择下一个分母作准备 if(a==1)

{ print(1/b);return;} } }

1-2 求出以下程序段所代表算法的时间复杂度 (1)m=0;

for(k=1;k<=n;k++)

for(j=k;j>=1;j--)

m=m+j;

解:因s=1+2+…+n=n(n+1)/2

时间复杂度为O(n2)。

(2)m=0;

for(k=1;k<=n;k++)

for(j=1;j<=k/2;j++)

m=m+j;

解:设n=2u+1,语句m=m+1的执行频数为

s=1+1+2+2+3+3+…+u+u=u(u+1)=(n?1)(n+1)/4

设n=2u,语句m=m+1的执行频数为

s=1+1+2+2+3+3+…+u=u2=n2/4

时间复杂度为O(n2)。

(3)t=1;m=0;

for(k=1;k<=n;k++)

{t=t*k;

for(j=1;j<=k*t;j++)

m=m+j;

}

解:因s=1+2×2!+ 3×3!+…+ n×n!=(n+1)!?1

时间复杂度为O((n+1)!).

(4)for(a=1;a<=n;a++)

{s=0;

for(b=a*100?1;b>=a*100?99;b?=2)

{for(x=0,k=1;k<=sqrt(b);k+=2)

if(b%k==0)

{x=1;break;}

s=s+x;

}

if(s==50)

printf("%ld \n",a);break;}

}

解:因a循环n次;对每一个a,b循环50次;对每一个b,k2次。因而k循环体的执行次数s满足

250(1250250s <<<

时间复杂度为O(n n )。

1-3 若p(n)是n 的多项式,证明:O(log(p(n)))=O(logn)。

证:设m 为正整数,p(n)=a1×n m +a2×n m-1

+…+am ×n , 取常数c>ma1+(m-1)a2+…+am, 则

log(p(n))=ma1×logn+(m-1)a2×logn+…=(ma1+(m-1)a2+…)×logn

因而有O(log(p(n)))=O(logn)。

1-4 构建对称方阵

观察图1-5所示的7阶对称方阵:

图1-5 7阶对称方阵

试构造并输出以上n 阶对称方阵。

解:这是一道培养与锻炼我们的观察能力与归纳能力的案例,一个一个元素枚举赋值显然行不通,必须全局着眼,分区域归纳其构造特点,分区域枚举赋值。 (1) 设计要点

设方阵中元素的行号为i ,列号为j 。

可知主对角线:i=j ;次对角线:i+j=n+1。两对角线赋值“0”。

按两条对角线把方阵分成上部、左部、右部与下部4个区,如图1-6所示。

图1-6 对角线分成的4个区

上部按行号i 赋值;下部按行号函数n+1-i 赋值。 左部按列号j 赋值;右部按列号函数n+1-j 赋值。 (2) 程序实现

#include

void main()

{int i,j,n,a[30][30];

printf(" 请确定方阵阶数n: ");

scanf("%d",&n);

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{if(i==j || i+j==n+1)

a[i][j]=0; // 方阵对角线元素赋值

if(i+j

a[i][j]=i; // 方阵上部元素赋值

if(i+jj)

a[i][j]=j; // 方阵左部元素赋值

if(i+j>n+1 && i>j)

a[i][j]=n+1-i; // 方阵下部元素赋值

if(i+j>n+1 && i

a[i][j]=n+1-j; // 方阵右部元素赋值

}

printf(" %d阶对称方阵为:\n",n);

for(i=1;i<=n;i++)

{ for(j=1;j<=n;j++) // 输出对称方阵

printf("%3d",a[i][j]);

printf("\n");

}

}

1-5 据例1-2的算法,写出求解n个“1”组成的整数能被2011整除的程序。修改程序,求出 n至少为多大时,n个“1”组成的整数能被2013整除?

解:程序为

#include

void main()

{ int a,c,p,n;

p=2011;

c=1111;n=4; // 变量c与n赋初值

while(c!=0) // 循环模拟整数竖式除法

{ a=c*10+1;

c=a%p;

n=n+1; // 每试商一位n增1

}

printf(" 由 %d 个1组成的整数能被 %d 整除。\n",n,p);

}

习题2

2-1 解不等式

设n 为正整数,解不等式

2011/12/111

3/12/1112/11112010<++++++++++

解:上下限一般为键盘输入的a,b 。

// 解不等式: a<1+1/(1+1/2)+...+1/(1+1/2+...+1/n) #include void main()

{ long a,b,c,d,i; double ts,s;

printf(" 请输入a,b: "); scanf("%d,%d",&a,&b); i=0;ts=0;s=0; while(s

ts=ts+(double)1/i; s=s+1/ts; } c=i;

while(s

ts=ts+(double)1/i; s=s+1/ts;

} d=i-1;

printf("\n 满足不等式的正整数n 为: %ld ≤n ≤%ld \n",c,d); }

2-2 韩信点兵

韩信在点兵的时候,为了知道有多少个兵,同时又能保住军事机密,便让士兵排队报数。 按从1至5报数,记下最末一个士兵报的数为1; 再按从1至6报数,记下最末一个士兵报的数为5; 再按1至7报数,记下最末一个报的数为4; 最后按1至11报数,最末一个士兵报的数为10。

你知道韩信至少有多少兵?

1. 求解要点

设兵数为x,则x满足下述的同余方程组:

x=5y+1 即 x=1 (mod 5)

x=6z+5 x=5 (mod 6)

x=7u+4 x=4 (mod 7)

x=11v+10 x=10 (mod 11)

其中y,z,u,v都为正整数。试求满足以上方程组的最小正整数x。

应用枚举可得到至少的兵数。x从1开始递增1取值枚举当然可以,但不必要。事实上枚举次数可联系问题的具体实际大大缩减。

(1) 注意到x除11余10,于是可设置x从21开始,以步长11递增。此时,只要判别前三个条件即可。

(2) 由以上第2,4两方程知x+1为11的倍数,也为6的倍数。而11与6互素,因而x+1必为66的倍数。于是取x=65开始,以步长66递增。此时,只要判别x%5=1与x%7=4 两个条件即可。

这样可算得满足条件的最小整数x即点兵的数量。

2. 程序实现

// 韩信点兵

#include

void main()

{ long int x;

x=65;

while(1)

{ x=x+66;

if(x%5==1 && x%7==4)

{ printf("至少有兵: %ld 个。",x);

break;

}

}

}

2-3 分解质因数

对给定区间[m,n]的正整数分解质因数,?每一整数表示为质因数从小到大顺序的乘积形式。如果被分解的数本身是素数,则注明为素数。

例如, 2012=2*2*503, 2011=(素数!)。

解:对区间中的每一个整数i(b=i),用k(2——sqrt(i))试商:

若不能整除,说明该数k不是b的因数,k增1后继续试商。

若能整除,说明该数k是b的因数,打印输出"k*";b除以k的商赋给b(b=b/k)?后继

续用k试商(注意,可能有多个k因数),直至不能整除,k增1后继续试商。

按上述从小至大试商确定的因数显然为质因数。

如果有大于sqrt(n)的因数(至多一个!)?,在试商循环结束后要注意补上,不要遗失。

如果整个试商后b的值没有任何缩减,仍为原待分解数n,说明n是素数,作素数说明标记。

若k是b的因数,按格式输出,然后b=b/k后继续试商k。

若k不是b的因数,则k增1后继续。

若上述试商完成后1

若试商后b还是原来的i,则i是素数。

// 质因数分解乘积形式

#include"math.h"

#include

void main()

{long int b,i,k,m,n,w=0;

printf("[m,n]中整数分解质因数(乘积形式).\n");

printf("请输入m,n:");

scanf("%ld,%ld",&m,&n);

for(i=m;i<=n;i++) // i为待分解的整数

{ printf("%ld=",i);

b=i;k=2;

while(k<=sqrt(i)) // k为试商因数

{if(b%k==0)

{b=b/k;

if(b>1)

{printf("%ld*",k);

continue; // k为质因数,返回再试

}

if(b==1) printf("%ld\n",k);

}

k++;

}

if(b>1 && b

printf("%ld\n",b); // 输出大于i平方根的因数

if(b==i)

{printf("(素数!)\n");w++;} // b=i,表示i无质因数

}

}

2-4 基于素数代数和的最大最小

定义和:

?

+

?

±

±

+

+

n

s

n

=n

?

?

-

9

?

2(

)1

)1

2(

7

7

5

)(+

3

1

5

3

(和式中第k项±(2k-1)*(2k+1)的符号识别:当(2k-1)与(2k+1)中至少有一个素数,取“+”;其余取“-”。例如和式中第13项取“-”,即为-25*27。)

1) 求s(2011)。

2) 设1<=n<=2011,当n为多大时,s(n)最大。

3) 设1<=n<=2011,当n为多大时,s(n)最小。

解:代数和式中各项的符号并不是简单的正负相间,而是随着构成素数而改变。因而在求和之前应用“试商判别法”对第k个奇数2k-1是否为素数进行标注:

若2k-1为素数,标注a[k]=1;

否则,若2k-1不是素数,a[k]=0。

设置k循环(1——n),循环中分别情况求和:

若a[k]+a[k+1]>=1,即(2k-1)与(2k+1)中至少有一个素数,实施“+”;

否则,若a[k]+a[k+1]==0,即(2k-1)与(2k+1)中没有素数,实施“-”。

同时,设置最大值变量smax,最小值变量smin。

在循环中,每计算一个和值s,与smax比较确定最大值,同时记录此时的项数k1;与smin比较确定最小值,同时记录此时的项数k2。

// 基于素数的整数和

#include

#include

void main()

{ int t,j,n,k,k1,k2,a[3000]; long s,smax,smin;

printf(" 请输入整数n: ");

scanf("%d",&n);

for(k=1;k<=n+1;k++) a[k]=0;

for(k=2;k<=n+1;k++)

{for(t=0,j=3;j<=sqrt(2*k-1);j+=2)

if((2*k-1)%j==0)

{t=1;break;}

if(t==0) a[k]=1; // 标记第k个奇数2k-1为素数

}

s=3;smax=0;smin=s;

for(k=2;k<=n;k++)

{if(a[k]+a[k+1]>=1)

s+=(2*k-1)*(2*k+1); // 实施代数和

else

s-=(2*k-1)*(2*k+1);

if(s>smax){smax=s;k1=k;} // 比较求最大值smax

if(s

}

printf("s(%d)=%ld \n",n,s);

printf("当k=%d时s有最大值: %ld\n",k1,smax);

printf("当k=%d时s有最小值: %ld\n",k2,smin);

}

2-5 特定数字组成的平方数

用数字2,3,5,6,7,8,9可组成多少个没有重复数字的7位平方数?

解:求出最小7位数的平方根b, 最大7位数的平方根c.

用a枚举[b,c]中的所有整数,计算d=a*a,这样确保所求平方数在d中。

设置f数组统计d中各个数字的个数。如果f[3]=2,即平方数d中有2个“3”。

检测若f[k]>1(k=0——9),说明d中存在有重复数字,返回。

在不存在重复数字的情形下,检测若f[0]+f[1]+f[4]=0,说明7位平方数d中没有数字“0”,“1”,“4”,d满足题意要求,打印输出。

// 组成没有重复数字的7位平方数

#include

#include

void main()

{int k,m,n,t,f[10];

long a,b,c,d,w;

n=0;

b=sqrt(2356789);c=sqrt(9876532);

for(a=b;a<=c;a++)

{d=a*a; w=d; // 确保d为平方数

for(k=0;k<=9;k++) f[k]=0;

while(w>0)

{ m=w%10;f[m]++;w=w/10;}

for(t=0,k=1;k<=9;k++)

if(f[k]>1) t=1; // 测试三个平方数是否有重复数字

if(t==0 && f[0]+f[1]+f[4]==0) // 测试平方数中没有数字0,1,4

{n++;

printf(" %2d: ",n);

printf(" %ld=%ld^2 \n",d,a);

}

}

printf(" 共可组成%d个没有重复数字的7位平方数.\n",n);

}

2-6 写出例2-2中对称方阵的完整程序,并运行程序。

对称方阵程序:

#include

void main()

{int i,j,n,a[30][30];

printf(" 请确定方阵阶数n: ");

scanf("%d",&n);

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{if(i+j<=n+1 && i<=j)

a[i][j]=(n+1)/2-i+1; // 方阵上部元素赋值

if(i+jj)

a[i][j]=(n+1)/2-j+1; // 方阵左部元素赋值

if(i+j>=n+1 && i>=j)

a[i][j]=i-n/2; // 方阵下部元素赋值

if(i+j>n+1 && i

a[i][j]=j-n/2; // 方阵右部元素赋值

}

printf(" %d阶对称方阵为:\n",n);

for(i=1;i<=n;i++)

{ for(j=1;j<=n;j++) // 输出对称方阵

printf("%3d",a[i][j]);

printf("\n");

}

}

2-7 四则运算式

把数字1,2,...,9这9个数字填入以下含加减乘除的综合运算式中的9个□中,?使得该式成立

□□×□+□□□÷□-□□=0

要求数字1,2,...,9这9个数字在各式中都出现一次且只出现一次,且约定数字“1”不出现在数式的一位数中(即排除各式中的各个1位数为1这一平凡情形)。

(1)求解要点

设式右的5个整数从左至右分别为a,b,c,d,e,其中a,e为二位整数,b,d为大于1的一位整数,c为三位整数。设置a,b,c,d循环,对每一组a,b,c,d,计算e=a*b+c/d。若其中的c/d非整数,或所得e非二位数,则返回。

然后分别对5个整数进行数字分离,设置f数组对5个整数分离的共9个数字进行统计,f(x)即为数字x(1—9)的个数。

若某一f(x)不为1,不满足数字1,2,...,9这九个数字都出现一次且只出现一次,标记t=1.

若所有f(x)全为1,满足数字1,2,...,9这九个数字都出现一次且只出现一次,保持标记t=0, 则输出所得的完美综合运算式。

设置n统计解的个数。

(2)程序实现

// 四则运算式

#include

void main()

{int x,y,t,k,a,b,c,d,e,n=0;

int m[6],f[11];

for(a=12;a<=98;a++)

for(b=2;b<=9;b++)

for(c=123;c<=987;c++) // 对a,b,c,d 实施枚举

for(d=2;d<=9;d++)

{x=c/d;e=a*b+x;

if(c!=x*d || e>100) continue;

m[1]=a;m[2]=c;m[3]=e;m[4]=b;m[5]=d;

for(x=0;x<=9;x++) f[x]=0;

for(k=1;k<=5;k++)

{y=m[k];

while(y>0)

{x=y%10;f[x]=f[x]+1;

y=(y-x)/10; // 分离数字f数组统计

}

}

for(t=0,x=1;x<=9;x++)

if(f[x]!=1)

{t=1; break;} // 检验数字0--9各只出现一次

if(t==0) // 输出一个解,用n统计个数

{n++;

printf("%2d: %2d*%1d+%3d/%1d-%2d=0 \n",n,a,b,c,d,e);

}

}

printf(" n=%d.\n",n);

}

2-8 合数世纪探求

定义一个世纪的100个年号中不存在一个素数,即100个年号全为合数的世纪称为合数世纪。

探索最早的合数世纪。

(1)设计要点

应用穷举搜索,设置a世纪的的50个奇数年号(偶数年号无疑均为合数)为b,用k试商判别b是否为素数,用变量s统计这50个奇数中的合数的个数。

对于a世纪,若s=50,即50个奇数都为合数,找到a世纪为最早的合数世纪,打印输出后退出循环结束。

(2)合数世纪程序设计

// 合数世纪探求

#include

#include

void main()

{long a,b,k; int s,x;

a=1;

while (1)

{a++;s=0; // 检验a世纪

for(b=a*100-99;b<=a*100-1;b+=2) // 穷举a世纪奇数年号b

{x=0;

for(k=3;k<=sqrt(b);k+=2)

if(b%k==0)

{x=1;break;}

if(x==0)break; // 当前为非合数世纪时,跳出循环进行下世纪的探求

s=s+x; // 年号b为合数时,x=1,s增1

}

if(s==50) // s=50,即50个奇数均为合数

{ printf("最早出现的合数世纪为 %ld 世纪!\n",a);

break;

}

}

}

2-9 最小连续n个合数

试求出最小的连续n个合数。(其中n是键盘输入的任意正整数。)

(1)设计要点

求出区间[c,d]内的所有素数(区间起始数c可由小到大递增),检验其中每相邻两素数之

差。若某相邻的两素数m,f之差大于n,即m-f>n,则区间[f+1,f+n]中的n个数为最小的连续n个合数。

应用试商法求指定区间[c,d](约定起始数c=3,d=c+10000)上的所有素数。求出该区间内的一个素数m,设前一个素数为f,?判别:

若m-f>n,则输出结果[f+1,f+n]后结束;

否则,作赋值f=m,为求下一个素数作准备。

如果在区间[c,d]中没有满足条件的解,则作赋值:c=d+2,d=c+10000,继续试商下去,直到找出所要求的解。

(2)程序实现

// 求最小的连续n个合数

#include

#include

void main()

{ long c,d,f,m,j;

int t,n;

printf(" 求最小的n个连续合数.\n");

printf(" 请输入n:");

scanf("%d",&n);

c=3;d=c+10000;

f=3;

while(1)

{ for(m=c;m<=d;m+=2)

{ for(t=0,j=3;j<=sqrt(m);j+=2)

if(m%j==0) // 实施试商

{t=1;break;}

if(t==0 && m-f>n) // 满足条件即行输出

{ printf("最小的%d个连续合数区间为:",n);

printf("[%ld,%ld]。 \n",f+1,f+n);

getch();return;

}

if(t==0) f=m; // 每求出一个素数m后赋值给f

}

if(m>d)

{c=d+2;d=c+10000;} // 每一轮试商后改变c,d转下一轮

}

}

2-10 和积9数字三角形

求解和为给定的正整数s(s≥45)的9个互不相等的正整数填入9数字三角形,使三角

形三边上的4个数字之和相等(s1)且三边上的4个数字之积也相等(s2)。

图2-7 9数字三角形

(1)求解要点。

把和为s的9个正整数存储于b数组b(1),…,b(9)中,分布如下图所示。为避免重复,不妨约定三角形中数字“下小上大、左小右大”,即b(1)

图2-8 b数组分布示意图

可以根据约定对b(1)、b(7)和b(4)的值进行循环探索,设置:

b(1)的取值范围为1~(s-21)/3(因其他6个数之和至少为21)。

b(7)的取值范围为b(1)+1~(s-28)/2。

b(4)的取值范围为b(7)+1~(s-36)。

同时探索判断步骤如下:

1)若(s+b(1)+b(7)+b(4))%3≠0,则继续探索;否则,记s1=(s+b(1)+b(7)+b(4))/3。

2)根据约定对b(3)、b(5)和b(8)的值进行探索,设置:

b(3)的取值范围为(s1-b(1)-b(4))/2+1~s1-b(1)-b(4)。

b(5)的取值范围为(s1-b(4)-b(7))/2+1~s1-b(4)-b(7)。

b(8)的取值范围为(s1-b(1)-b(7))/2+1~s1-b(1)-b(7))。

同时根据各边之和为s1,计算出b(2)、b(6)和b(9):

b(2)=s1-b(1)-b(4)-b(3)

b(6)=s1-b(4)-b(5)-b(7)

b(9)=s1-b(1)-b(7)-b(8)

3)若b数组存在相同正整数,则继续探索。

4)设s2=b(1)*b(2)*b(3)*b(4),若另两边之积不为s2,则继续探索;否则探索成功,打印输出结果,接着继续探索直到所有数字组探索完毕为止。

(2)9数字三角形求解程序设计。

// 9数字三角形求解

#include

#include

void main()

{

int k,j,t,s,s1,s2,n,b[10];

printf(" 请输入正整数s:");

scanf("%d",&s);

n=0;

for(b[1]=1;b[1]<=(s-21)/3;b[1]++)

for(b[7]=b[1]+1;b[7]<=(s-28)/2;b[7]++)

for(b[4]=b[7]+1;b[4]<=s-36;b[4]++)

{

if((s+b[1]+b[4]+b[7])%3!=0) continue;

s1=(s+b[1]+b[4]+b[7])/3;

for(b[3]=(s1-b[1]-b[4])/2+1;b[3]

b[2]=s1-b[1]-b[4]-b[3];

b[6]=s1-b[4]-b[7]-b[5];

b[9]=s1-b[1]-b[7]-b[8];

t=0;

for(k=1;k<=8;k++)

for(j=k+1;j<=9;j++)

if(b[k]==b[j]) {t=1;k=8;break;}

if(t==1) continue;

s2=b[1]*b[2]*b[3]*b[4];

if(b[4]*b[5]*b[6]*b[7]!=s2) continue;

if(b[1]*b[9]*b[8]*b[7]!=s2) continue;

n++;

printf(" %3d:%2d",n,b[1]);

for(k=2;k<=9;k++)

printf(", %2d",b[k]);

printf(" s1=%d, s2=%d \n",s1,s2);

}

}

printf("共%d个解。",n);

}

习题3

3-1 递推求解b 数列 已知b 数列定义:

)2(3,2,12121>-===--n b b b b b n n n

递推求b 数列的第20项与前20项之和。 解:

#include void main()

{ int k,n; long b[3000],s; printf(" 请输入n: "); scanf("%d",&n); b[1]=1;b[2]=2;s=3; for(k=3;k<=n;k++)

{ b[k]=3*b[k-1]-b[k-2];

s+=b[k]; }

printf(" b(%d)=%ld \n",n,b[n]); printf(" s=%ld \n",s); }

3-2 双关系递推数列 集合M 定义如下: 1)M ∈1

2)21,31x M x M x M ∈?+∈+∈

3)再无别的数属于M

试求集合M 元素从小到大排列的第2011个元素与前2011 个元素之和。 解:(1)设计要点

设n 个数在数组m 中,2x+1与3x+1均作为一个队列,从两队列中选一排头(数值较小者)送入数组m 中。所谓“排头”就是队列中尚未选入m 的最小的数(下标)。这里用p2表示2x+1这一列的排头的下标,用p3表示3x+1这一列的排头的下标。

if(2*m(p2)<3*m(p3))

{ m(i)=2*m(p2)+1;p2++;} if(2*m(p2)>3*m(p3))

{ m(i)=3*m(p3)+1;p3++;}

特别注意:两队列若出现相等时,给m 数组赋值后,两排头都要增1。

if(2*m(p2)==3*m(p3)) { m(i)=2*m(p2)+1;

p2++; p3++; // 为避免重复项,P2,p3均须增1

} (2) 程序设计 // 双关系递推 #include void main()

{int n,p2,p3,i;long s,m[3000]; m[1]=1;s=1;

p2=1;p3=1; // 排头p2,p3赋初值 printf(" 请输入n: "); scanf("%d",&n); for(i=2;i<=n;i++) if(2*m[p2]<3*m[p3])

{ m[i]=2*m[p2]+1; s+=m[i];

p2++; }

else

{ m[i]=3*m[p3]+1; s+=m[i];

if(2*m[p2]==3*m[p3]) p2++; // 为避免重复项,P2须增1 p3++;

}

printf(" m(%d)=%ld\n",n,m[n]); printf(" s=%ld\n",s); }

3-3 多幂序列

设x,y,z 为非负整数,试计算集合

}0,0,0|5,3,2{≥≥≥=z y x M z y x

的元素由小到大排列的多幂序列第n 项与前n 项之和。 (1)递推算法设计

集合由2的幂、3的幂与5的幂组成,实际上给出的是3个递推关系。 显然,第1项也是最小项为1(当x=y=z=0时)。 从第2项开始,为了实现从小到大排列,设置3个变量a,b,c ,a 为2的幂,b 为3的幂,c 为5的幂,显然a,b,c 互不相等。

设置k 循环(k=2,3,…,n ,其中n 为键盘输入整数),在k 循环外赋初值:a=2;b=3;c=5;s=1;

在k循环中通过比较赋值:

当a

当b

当c

递推过程描述:

a=2;b=3;c=5; // 为递推变量a,b,c赋初值

for(k=2;k<=n;k++)

{ if(a

{ f[k]=a;a=a*2;} // 用a给f[k]赋值

else if(b

{ f[k]=b;b=b*3;} // 用b给f[k]赋值

else

{ f[k]=c;c=c*5;} // 用c给f[k]赋值

}

在这一算法中,变量a,b,c是变化的,分别代表2的幂、3的幂与5的幂。

上述递推算法的时间复杂度与空间复杂度均为O(n)。

(2)多幂序列程序实现

// 多幂序列求解

#include

void main()

{int k,m,t,p2,p3,p5;

double a,b,c,s,f[100];

printf(" 求数列的第m项与前m项和,请输入m: ");

scanf("%d",&m);

f[1]=1;p2=0;p3=0;p5=0;

a=2;b=3;c=5;s=1;

for(k=2;k<=m;k++)

{ if(a

{ f[k]=a;a=a*2; // 用2的幂给f[k]赋值

t=2;p2++; // t=2表示2的幂,p2为指数

}

else if(b

{ f[k]=b;b=b*3; // 用3的幂给f[k]赋值

t=3;p3++; // t=3表示3的幂,p3为指数

}

else

{ f[k]=c;c=c*5; // 用5的幂给f[k]赋值 t=3;p5++; // t=5表示5的幂,p5为指数 }

s+=f[k]; }

printf(" 数列的第%d 项为: %.0f ",m,f[m]);

if(t==2) // 对输出项进行标注 printf("(2^%d) \n",p2); else if(t==3)

printf("(3^%d) \n",p3); else

printf("(5^%d) \n",p5);

printf(" 数列的前%d 项之和为:%.0f \n",m,s); }

3-4 双幂积序列的和

由集合}0,0|32{≥≥=y x M y x 元素组成的复合幂序列,求复合幂序列的指数和x+y ≤n (正整数n 从键盘输入)的各项之和

0,0,320

≥≥=

∑=+y x s n

y x y

x

(1)设计要点

归纳求和递推关系: 当x+y=0时,s(1)=1; 当x+y=1时,s(1)=2+3;

当x+y=2时,s(2)=22+2×3+32=2*s(1)+ 32

当x+y=3时,s(3)=23+22×3+2×32+33=2*s(2)+ 33

一般地,当x+y=k 时,s(k)=2*s(k ?1)+3k

即有递推关系:

s(k)=2*s(k)+3k

其中3k

可以通过变量迭代实现。这样可以省略数组,简化为一重循环实现复合幂序列求和。

(2)程序实现

// 复合幂序列求和 #include void main()

{int k,n; long sum,t,s[100];

printf("请输入幂指数和至多为n:"); scanf("%d",&n); t=1;s[0]=1; sum=1;

for(k=1;k<=n;k++)

{t=t*3; // 迭代得t=3^k

s[k]=2*s[k-1]+t; // 实施递推

sum=sum+s[k];

}

printf("幂指数和至多为%d的幂序列之和为:%ld\n",n,sum);

}

3-5 粒子裂变

核反应堆中有α和β两种粒子,每秒钟内一个α粒子可以裂变为3个β粒子,而一个β粒子可以裂变为1个α粒子和2个β粒子。若在t=0时刻的反应堆中只有一个α粒子,求在t秒时反应堆裂变产生的α粒子和β粒子数。

1. 算法设计

设在t秒时α粒子数为f(t),β粒子数为g(t),依题可知:

g(t)=3f(t-1)+2g(t-1) (1)

f(t)=g(t-1) (2)

g(0)=0,f(0)=1

由(2)得f(t-1)=g(t-2) (3)将式(3)代入(1)得

g(t)=2g(t-1)+3g(t-2) (t≥2) (4)

g(0)=0,g(1)=3 (5)以递推关系(4)与初始条件(5)完成递推。

2.粒子裂变C程序设计

// 粒子裂变

#include

void main()

{int t,k;long g[100];

printf(" input t:");

scanf("%d",&t);

g[0]=0; g[1]=3; // 确定初始条件

for(k=2;k<=t;k++)

g[k]=2*g[k-1]+3*g[k-2]; // 完成递推

printf("%d 秒时反应堆中β粒子数为:%ld \n",t,g[t]);

printf("%d 秒时反应堆中α粒子数为:%ld \n",t,g[t-1]);

}

3-6 m行n列逆转矩阵

上海市2019届高三数学一轮复习典型题专项训练:复数与行列式

上海市2019届高三数学一轮复习典型题专项训练 复数与行列式 一、复数 1、(2018上海高考)已知复数z 满足117i z i +=-()(i 是虚数单位),则∣z ∣= 2、(2017上海高考)已知复数z 满足3 0z z +=,则||z = 3、(2016上海高考)设i i Z 23+= ,期中i 为虚数单位,则Im z =__________________ 4、(宝山区2018高三上期末)若i z i 23-+= (其中i 为虚数单位),则Imz = . 5、(崇明区2018高三上期末(一模))若复数z 满足iz=1+i (i 为虚数单位),则z= . 6、(奉贤区2018高三上期末)复数 i +12 的虚部是________. 7、(静安区2018高三二模)若复数z 满足(1)2z i i -=(i 是虚数单位),则||z = 8、(普陀区2018高三二模)已知i 为虚数单位,若复数2(i)i a +为正实数,则实数a 的值为……………………………( ) )A (2 ()B 1 ()C 0 ()D 1- 9、(青浦区2018高三二模)若复数z 满足2315i z -=+(i 是虚数单位),则=z _____________. 10、(青浦区2018高三上期末)已知复数i 2i z =+(i 为虚数单位),则z z ?= . 11、(松江、闵行区2018高三二模)设m ∈R ,若复数(1i)(1i)m ++在复平面内对应的点位于实轴 上,则m = . 12、(松江区2018高三上期末)若i -2是关于x 的方程02 =++q px x 的一个根(其中i 为虚数单位,R q p ∈,),则q 的值为 A. 5- B. 5 C. 3- D. 3 13、(杨浦区2018高三上期末)在复平面内,复数2i z i -= 对应的点位于( ) A. 第一象限 B. 第二象限 C. 第三象限 D. 第四象限 14、(浦东新区2018高三二模)已知方程210x px -+=的两虚根为1x 、2x ,若12||1x x -=,则实数p 的值为( ) A. 3± B. 5± C. 3,5 D. 3±,5± 15、(浦东新区2018高三二模)在复数运算中下列三个式子是正确的:(1)1212||||||z z z z +≤+;(2)1212||||||z z z z ?=?;(3)123123()()z z z z z z ??=??,相应的在向量运算中,下列式子:(1)

高等代数作业 第二章行列式答案

高等代数第四次作业 第二章 行列式 §1—§4 一、填空题 1.填上适当的数字,使72__43__1为奇排列. 6,5 2.四阶行列式 4 4?=ij a D 中,含 24 a 且带负号的项为_____. 112433421224314313243241,,a a a a a a a a a a a a 3.设.21 22221 11211d a a a a a a a a a nn n n n n = 则._____1 221 22 211 12 1=n n nn n n a a a a a a a a a (1) 2(1)n n d -- 4.行列式1 1 1 11111---x 的展开式中, x 的系数是_____. 2 二、判断题 1. 若行列式中有两行对应元素互为相反数,则行列式的值为0 ( )√ 2. 设d = nn n n n n a a a a a a a a a 21 2222111211 则 12 111222212 1 n n n nn n a a a a a a a a a =d ( )× 3. 设d = nn n n n n a a a a a a a a a 21 2222111211 则d a a a a a a a a a n nn n n n -=112112122221 ( )× 4. abcd z z z d y y c x b a =000000 ( ) √ 5. abcd d c x b y x a z y x -=0 000 00 ( )× 6. 00 00000=y x h g f e d c b a ( )√ 7. 如果行列式D 的元素都是整数,则D 的值也是整数。( )√ 8. 如果行列D 的元素都是自然数,则D 的值也是自然数。( )×

verilog数字系统设计教程习题答案

verilog 数字系统设计教程习题答案第二章 HDL 既是一种行为描述语言,也是一种结构描述语言。如果按照一定的规则和风格编写代码,就可以将功能行为模块通过工具自动转化为门级互联的结构模块。这意味着利用Verilog 语言所提供的功能,就可以构造一个模块间的清晰结构来描述复杂的大型设计,并对所需的逻辑电路进行严格的设计。 2.模块的基本结构由关键词module和endmodule构成。 3.一个复杂电路系统的完整Verilog HDL 模型是由若干个Verilog HDL模块构成的,每一个模块又可以由若干个子模块构成。其中有些模块需要综合成具体电路,而有些模块只是与用户所设计的模块交互的现存电路或激励信号源。利用Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计,并对所作设计的逻辑电路进行严格的验证。 HDL和VHDL乍为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的结构和行为、支持逻辑设计中层次与领域的描述、可借用高级语言的精巧结构来简化电路的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去)、便于文档管理、易于理解和设计重用。 5.不是

6.将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 7.综合工具可以把HDL变成门级网表。这方面Synopsys工具占有较大的优势,它的Design Compile 是作为一个综合的工业标准,它还有另外一个产品叫Behavior Compiler ,可以提供更高级的综合。 另外最近美国又出了一个软件叫Ambit ,据说比Synopsys 的软件更有效,可以综合50万门的电路,速度更快。今年初Ambit 被Cadence 公司收购,为此Cade nee放弃了它原来的综合软件Syn ergy。随着FPGA 设计的规模越来越大,各EDA公司又开发了用于FPGA设计的综合软件,比较有名的有:Sy nopsys 的FPGAExpress,Cade nee 的Syn plity ,Mentor的Leonardo,这三家的FPGA综合软件占了市场的绝大部分。 8.整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件 进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。用于适配,适配将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC Jam格式的 文件 9.在FPGA设计中,仿真一般分为功能仿真(前仿真)和时序仿真(后仿真)。功能仿真又叫逻辑仿真,是指在不考虑器件延时和布线延时的理想情况下对源代码进行逻辑功能的验证;而时序仿真是在布局布线后进行,它与

电信传输原理试题

电信传输原理试题 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

一、单项选择题(每小题1分,共20分)1.目前主要用于电话网市话用户电话线的传输媒质是(B)。 A.架空明线 B.对称电缆 C.同轴电缆 D.光纤 2.光纤中纤芯的折射率需大于光纤中包层的折射率,其目的是C)。A.增加光纤的机械强度B.降低光纤的损耗 C.构成全内反射 D.抑制光纤的色散现象 3.0.1mW的信号功率的绝对电平是(A)。 A.-10dBm B.0dBm C.1dBm D.10dBm 4.将功率为0.1mW的信号提高到1mW,信号功率增大了10倍,而对人的听觉声音响度是增大了(A)。 A.1倍 B.2倍 C.10倍 D.20倍 5.随着传输电信号的频率的增高,场的辐射最严重的传输媒质是(A) A平行双导线B波导C同轴线D微带传输线 6、采用集中参数电路理论分析传输线特性时,其条件是(D)。 A.传输线几何长度较短 B.传输线几何长度较长 C.传输线几何长度比工作波长长0.01倍 D.传输线几何长度比工作波长短0.01倍 7、当传输线的特性阻抗匹配时,电磁波将呈显(A) A、驻波 B、行波 C、辐射波 D、行驻波 8.对称电缆线的串音损耗值越大,则表示(C)。 A、串音越严重 B、串音功率越大 C、串音功率越小 D、对相邻回路串音干扰越大 9.同轴电缆单模传输时的模式为(D)

A.TE10 B.TE11 C.TE00 D.TEM 10.金属波导中,波导波长与工作波长的关系应该是(A )。 A.λg >λ B.λg =λ C.λg <λ D.没有关系 11..金属圆形波导单模传输时的模式为(B ) A.TE10 B.TE11 C.TE00 D.TEM 12、光纤的归一化频率V →∞,导波(A ) A 、远离截止 B 、远离导行 C 、导波截止 D 、无法确定 13、光纤的色散最直接的影响是(B ) A 、光纤传输损耗 B 、光纤传输带宽 C 、光纤传输散射 D 、光纤传输的光波波长 14.卫星通信系统的上、下行频率的关系是()。 A 、上行频率小于下行频率 B 、上行频率大于下行频率 C 、上行频率等于下行频率 D 、上、下行频率谁大小由设计方决定 15.在自由空间中,电波传播损耗与距离的(B )成正比 A 、1次方 B 、2次方 C 、3次方 D 、4次方 16.设计微波链路时,若只要求微波链路为极限距离,则余隙应满足() A 、自由空间余隙h 0 B 、0.577h 0 C 、第1菲涅尔半径 D 、零 17.静止卫星的运行轨道常选用(A )。 A.高轨道 B.低轨道 C.倾斜轨道 D.极轨道 18.在卫星通信中,通信卫星的作用相当于离地面很高的(C )。 A.交换机 B.微波收、发信机 C.微波中继站 D.复用设备 19、移动(通信)信道的外部噪声包括()范围。

操作系统教程_孙钟秀(第四版)课后习题答案

首页入门学 习 程序 员 计算机考 研 计算机电子书 下载 硬件知 识 网络知 识 专业课程答案 下载 视频教程下载 第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使CPU 的利用率提高了47 % : 87 %/59 %=147 % 147 %-100 % = 47 % 2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图

行列式经典例题及计算方法

行列式的例题 1.已知方程 01125208 42111111154115 21211111154113 21111113 23232=+ + -x x x x x x x x x ,求x 。 解:由行列式的加法性质,原方程可化为 32321 12520842111111154118 4211111x x x x x x + 3 232 2781941321111112793184 211111x x x x x x = = =(2-1)(3-1)(3-2)(x-1)(x-2)(x-3)=0 得x=1或x=2或x=3。 2.计算:(化三角形法) 3.拆行列法 42031 2852 51873 121D =

行列式的计算 (四)升级法(加边法) 112122 1212 ,0 n n n n n n a b a a a a b a D b b b a a a b ++= ≠+ 1 21121221 21 1000n n n n n n n a a a a b a a D a a b a a a a b ++=++ 解:1) 1 21121 1 00(2,31)10010 0n i n a a a b r r i n b b --=+-- 121 (1).n i n i i a b b b b ==+∑ 111 11100 (1,21)00 n i n i i i i n a a a b c b c i n b b =+++ =+∑ 行列式的计算 (二)箭形行列式 0121112 2,0,1,2,3. n n i n n a b b b c a D a i n c a c a +=≠= 解:把所有的第列的倍加到(1,,)i n = i i c a -1i +第1列,得: 11201()n i i n n i i b c D a a a a a +==-∑

高等代数作业第二章行列式答案

高等代数作业第二章行列 式答案 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

高等代数第四次作业 第二章 行列式 §1—§4 一、填空题 1.填上适当的数字,使72__43__1为奇排列. 6,5 2.四阶行列式4 4?=ij a D 中,含24a 且带负号的项为_____. 112433421224314313243241,,a a a a a a a a a a a a 3.设 .21 22221 11211 d a a a a a a a a a nn n n n n = 则 ._____1 221 22 211 121=n n nn n n a a a a a a a a a (1) 2(1)n n d -- 4.行列式1 1 1 111 11 ---x 的展开式中, x 的系数是_____. 2 二、判断题 1. 若行列式中有两行对应元素互为相反数,则行列式的值为0 ( )√ 2. 设d = nn n n n n a a a a a a a a a 212222111211 则 12 111222212 1 n n n nn n a a a a a a a a a =d ( )× 3. 设d = nn n n n n a a a a a a a a a 21 2222111211 则d a a a a a a a a a n nn n n n -=11211 2122221 ( )× 4. abcd z z z d y y c x b a =000000 ( ) √ 5. abcd d c x b y x a z y x -=0 000 00 ( )× 6. 00 00000=y x h g f e d c b a ( )√ 7. 如果行列式D 的元素都是整数,则D 的值也是整数。( )√ 8. 如果行列D 的元素都是自然数,则D 的值也是自然数。( )× 9. n n a a a a a a 212 1 = ( )× 10. 0 1000 2000 010 n n -=n ! ( )× 三、选择题

操作系统教程习题答案

《操作系统教程》习题答案

习题1 1.单项选择题 (1)大中小型计算机是以为中心的计算机系统。 A、CPU B、存储器 C、系统总线 D、通道 (2)以下关于操作系统的说法正确的是。 A、批处理系统是实现人机交互的系统 B、批处理系统具有批处理功能,但不具有交互能力 C、分时系统是实现自动控制,无须人为干预的系统 D、分时系统即具有分时交互能力,又具有批处理能力 (3)操作系统的职能是管理软硬件资源、合理地组织计算机工作流程和。 A、为用户提供良好的工作环境和接口 B、对用户的命令作出快速响应 C、作为服务机构向其它站点提供优质服务 D、防止有人以非法手段进入系统 (4)设计实时操作系统时,首先应考虑系统的。 A、可靠性和灵活性 B、实时性和可靠性 C、优良性和分配性 D、灵活性和分配性 (5)多道程序设计是指。 A、在分布式系统中同一时刻运行多个程序 B、在一台处理器上并行运行多个程序 C、在实时系统中并发运行多个程序 D、在一台处理器上并发运行多个程序 (6)以下关于并发性和并行性的说法正确的是。 A、并发性是指两个及多个事件在同一时刻发生 B、并发性是指两个及多个事件在同一时间间隔发生 C、并行性是指两个及多个事件在同一时间间隔发生 D、并发性是指进程,并行性是指程序 (1)B (2)B (3)A (4)B (5)D (6)B 2.填空题 (1)微机是以总线为纽带构成的计算机系统。 (2)在批处理兼分时系统中,往往把由分时系统控制的作业称为前台作业,把由批处理系统控制的作业称为后台作业。 (3)在分时系统中,若时间片长度一定,则用户数越多,系统响应时间越慢。 (4)分布式操作系统能使系统中若干台计算机协同完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上并行执行,以充分利用各计算机的优势。 (5)用户通过网络操作系统可以网络通信、资源共享,从而大大扩展了计算机的应用围。 3.简答题 (1)什么是操作系统?现代操作系统的基本特征是什么? 操作系统是直接控制和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,便于用户使用的程序集合。操作系统的基本特征:并发性,共享性,虚拟性,异步性

高等代数作业第二章行列式答案

高等代数第四次作业 第二章行列式§—§4 —、填空题 1 ?填上适当的数字,使72__43__1为奇排列.6 , 5 2 ?四阶行列式D a j 44中,含a24且带负号的项为__________ a i1 a24a33a42 , a i2a24a3i a4 3 , a i3a2 4 a32a41 a11 a12 a1n a1n a12 a11 3 .设a21 a22 a2n d.则a2n a22 a21 a n1 a n2 a nn a nn a n2 a n1 n( n 1) (1)Fd 1 4 ?行列式11 1 1 x的展开式中,x的系数是 二、判断题 1.若行列式中有两行对应元素互为相反数,则行列式的值为0 ( a11 a12 a1 n a12 a1n L a11 2.设d = a21 a22 a2n 则a22 a2n L a21 L L L L a n1 a n2 a nn a n2 a nn L a n1 )x a11 a12 a1n a21 a22 a2n 3.设d = a21 a22 a2n 则 a n1 a n2 a nn d ( a n1 a n2 a nn a11 a12 a1 n 0 0 0 a x y z a )x 0 0b 4. 0 c y d z z abed () y z )x 6. abed 0 0 e f 0 0 g h 0 0 x y 7.如果行列式D的元素都是整数,则D的值也是整 数。 8.如果行列D的元素都是自然数,则 9. a1 a2 a1 a2 a n a n 、选择题 1 2 ()x 10. =n!()x 0 0 0 n 1 n 0 0 0 D的值也是自然数。()x

数字电路与系统设计课后习题答案

(此文档为word格式,下载后您可任意编辑修改!) 1.1将下列各式写成按权展开式: (352.6)10=3×102+5×101+2×100+6×10-1 (101.101)2=1×22+1×20+1×2-1+1×2-3 (54.6)8=5×81+54×80+6×8-1 (13A.4F)16=1×162+3×161+10×160+4×16-1+15×16-2 1.2按十进制0~17的次序,列表填写出相应的二进制、八进制、十六进制数。 解:略 解:分别代表28=256和210=1024个数。 (1750)8=(1000)10 (3E8)16=(1000)10 1.5将下列各数分别转换为二进制数:(210)8,(136)10,(88)16 1.6将下列个数分别转换成八进制数:(111111)2,(63)10,(3F)16 解:结果都为(77)8 解:结果都为(FF)16 1.8转换下列各数,要求转换后保持原精度: (0110.1010)余3循环BCD码=(1.1110)2 1.9用下列代码表示(123)10,(1011.01)2: 解:(1)8421BCD码: (123)10=(0001 0010 0011)8421BCD (1011.01)2=(11.25)10=(0001 0001.0010 0101)8421BCD (2)余3 BCD码 (123)10=(0100 0101 0110)余3BCD (1011.01)2=(11.25)10=(0100 0100.0101 1000)余3BCD (1)按二进制运算规律求A+B,A-B,C×D,C÷D, (2)将A、B、C、D转换成十进制数后,求A+B,A-B,C×D,C÷D,并将结果与(1)进行比较。 A-B=(101011)2=(43)10 C÷D=(1110)2=(14)10 (2)A+B=(90)10+(47)10=(137)10 A-B=(90)10-(47)10=(43)10 C×D=(84)10×(6)10=(504)10 C÷D=(84)10÷(6)10=(14)10 两种算法结果相同。

电信传输原理试题

一、单项选择题(每小题1分,共20分)1.目前主要用于电话网市话用户电话线的传输媒质是(B)。 A.架空明线 B.对称电缆 C.同轴电缆 D.光纤 2.光纤中纤芯的折射率需大于光纤中包层的折射率,其目的是C)。 A.增加光纤的机械强度 B.降低光纤的损耗 C.构成全内反射 D.抑制光纤的色散现象 3.0.1mW的信号功率的绝对电平是(A)。 A.-10dBm B.0dBm C.1dBm D.10dBm 4.将功率为0.1mW的信号提高到1mW,信号功率增大了10倍,而对人的听觉声音响度是增大了(A)。 A.1倍 B.2倍 C.10倍 D.20倍 5.随着传输电信号的频率的增高,场的辐射最严重的传输媒质是(A) A平行双导线B波导C同轴线D微带传输线 6、采用集中参数电路理论分析传输线特性时,其条件是(D)。 A.传输线几何长度较短 B.传输线几何长度较长 C.传输线几何长度比工作波长长0.01倍 D.传输线几何长度比工作波长短0.01倍 7、当传输线的特性阻抗匹配时,电磁波将呈显(A) A、驻波 B、行波 C、辐射波 D、行驻波 8.对称电缆线的串音损耗值越大,则表示(C)。 A、串音越严重 B、串音功率越大 C、串音功率越小 D、对相邻回路串音干扰越大 9.同轴电缆单模传输时的模式为(D) A.TE10 B.TE11 C.TE00 D.TEM 10.金属波导中,波导波长与工作波长的关系应该是(A)。 A.λg>λ B.λg=λ C.λg<λ D.没有关系 11..金属圆形波导单模传输时的模式为(B) A.TE10 B.TE11 C.TE00 D.TEM 12、光纤的归一化频率V→∞,导波(A) A、远离截止 B、远离导行 C、导波截止 D、无法确定 13、光纤的色散最直接的影响是(B) A、光纤传输损耗 B、光纤传输带宽 C、光纤传输散射 D、光纤传输的光波波长 14.卫星通信系统的上、下行频率的关系是()。 A、上行频率小于下行频率 B、上行频率大于下行频率 C、上行频率等于下行频率 D、上、下行频率谁大小由设计方决定 15.在自由空间中,电波传播损耗与距离的(B)成正比 A、1次方 B、2次方 C、3次方 D、4次方 16.设计微波链路时,若只要求微波链路为极限距离,则余隙应满足() A、自由空间余隙h0 B、0.577h0 C、第1菲涅尔半径 D、零

第二章 行列式作业活页

第二章行列式 第一节 二阶与三阶行列式 一、填空题 1.2315-=- _______;2 2a a b b = ______. 2.124031142--= _______;a b c b c a c a b =_____. 二、解答题 1.用对角线法则计算下列行列式 (1)cos sin sin cos αα αα-= (2)201 141183 --=- 2.解方程111 12 1.16 x x = 解: 第二节 n 阶行列式的定义及性质 & 第三节 行列式的计算 一、填空题 1.243324=--_____;1 24 031142 --=__. 2.若,a b 均为整数,而=_____;=_______0 00,10001 a b b a a b -=- .

3.设A 为3阶方阵,若||3A =,则|2|A =____. 4.123 456789 的代数余子式21A 应表示为____. 5.ij 1 23456784A 2348 6789 若阶行列式为;为其代数余子式,13233343210412_______A A A A +++= . 二、解答题 1.利用行列式的性质,计算下列行列式: (1)3215332053 7228472184. 解: (2)1111 1111 11111111 --- 解: .

(3)1324 2131 32142101 解: . 2.利用行列式展开定理,计算下列行列式: (1)1214 0121 10130131 -. 解:原式 . (2)5 48723547 2856 393--------. 解:原式 . ,

数字逻辑与数字系统设计习题参考答案

数字逻辑与数字系统设计 第1章习题解答 1.3 (1)86 (2)219 (3)106.25 (4)0.6875 1.4 (1)101111 (2)1001000 (3)100001l.11 (4)0.101 1.5 (1)(117)10=(165)8=(1110101)2=(75)16 (2)(3452)10=(6574)8=(1)2=(D7C)16 (3)(23768.6875)10=(56330.54)8=(.1011)2=(5CD8.B)16 (4)(0.625)10=(0.5)8=(0.101)2=(0.A)16 1.6 (1)(117)8=(1001111)2=(79)10 (2)(7456)8=(1)2=(3886)10 (3)(23765.64)8=(10 0111 1111 0101.1101)2=(10229.8125)10 (4)(0.746)8=(0.11111)2=(0.96875)10 1.7 (1) (9A)16=()2=(154)10 (2) (3CF6)16=(111)2=(15606)10 (3) (7FFE.6)16=(.011)2=(32766.375)10 (4) (0.C4)16=(0.110001)2=(0.765625)10 1-8 (1)(125)10=(0001)8421BCD (2)(7342)10=(0)8421BCD (3)(2018.49)10=(00011000.01001001)8421BCD (4)(0.785)10=(0.0)8421BCD 1.9 (1)(106)10=(1101010)2原码=反码=补码=01101010 (2)(-98)10=(-1100010)2 原码= 反码= 补码= (3)(-123)10=(-1111011)2 原码= 反码= 补码= (4)(-0.8125)10=(-0.1101)2 原码=1.1101000 反码=1.0010111 补码=1.0011000 1.10 (1)(104)10=(1101000)2 [1101000]补=01101000 (-97)10=(-1100001)2 [-1100001]补= + 01001111 01101000 + 00000111

电信传输原理试题

试题及部分答案 一、单项选择题(每小题1分,共20分) 1.目前主要用于电话网市话用户电话线的传输媒质是(B)。 A. 架空明线 B. 对称电缆 C.同轴电缆 D.光纤 2.光纤中纤芯的折射率需大于光纤中包层的折射率,其目的是C )。 A. 增加光纤的机械强度 B. 降低光纤的损耗 C. 构成全内反射 D. 抑制光纤的色散现象 3.0.1mW的信号功率的绝对电平是( A )。 A. -10 dBm B. 0dBm C. 1 dBm D. 10 dBm 4. 将功率为0.1mW的信号提高到1mW,信号功率增大了10倍,而对人的听觉声音响度是增大了(A )。 A. 1倍 B. 2倍 C. 10倍 D.20倍 5.随着传输电信号的频率的增高,场的辐射最严重的传输媒质是(A) A 平行双导线 B 波导 C 同轴线 D 微带传输线 6、采用集中参数电路理论分析传输线特性时,其条件是(D )。 A.传输线几何长度较短 B. 传输线几何长度较长 C.传输线几何长度比工作波长长0.01倍 D. 传输线几何长度比工作波长短0.01倍 7、当传输线的特性阻抗匹配时,电磁波将呈显(A ) A、驻波 B、行波 C、辐射波 D、行驻波 8.对称电缆线的串音损耗值越大,则表示( C )。 A、串音越严重 B、串音功率越大 C、串音功率越小 D、对相邻回路串音干扰越大 9. 同轴电缆单模传输时的模式为(D ) A.TE10 B. TE11 C.TE00 D.TEM 10. 金属波导中,波导波长与工作波长的关系应该是(A )。 A. λg> λ B. λg = λ C. λg< λ D.没有关系 11..金属圆形波导单模传输时的模式为(B ) A.TE10 B. TE11 C.TE00 D.TEM 12、光纤的归一化频率V→∞,导波(A ) A、远离截止 B、远离导行 C、导波截止 D、无法确定 13、光纤的色散最直接的影响是( B ) A、光纤传输损耗 B、光纤传输带宽 C、光纤传输散射 D、光纤传输的光波波长 14. 卫星通信系统的上、下行频率的关系是( )。 A、上行频率小于下行频率 B、上行频率大于下行频率 C、上行频率等于下行频率 D、上、下行频率谁大小由设计方决定 15.在自由空间中,电波传播损耗与距离的(B)成正比 A、1次方 B、2次方 C、3次方 D、4次方 16.设计微波链路时,若只要求微波链路为极限距离,则余隙应满足() A、自由空间余隙h0 B、0.577 h0 C、第1菲涅尔半径 D、零 17. 静止卫星的运行轨道常选用( A )。

《操作系统教程》习题答案

《操作系统教程》习题答案 习题1 1(单项选择题 (1)大中小型计算机是以为中心的计算机系统。 A、CPU B、存储器 C、系统总线 D、通道 (2)以下关于操作系统的说法正确的是。 A、批处理系统是实现人机交互的系统 B、批处理系统具有批处理功能,但不具有交互能力 C、分时系统是实现自动控制,无须人为干预的系统 D、分时系统即具有分时交互能力,又具有批处理能力 (3)操作系统的职能是管理软硬件资源、合理地组织计算机工作流程和。 A、为用户提供良好的工作环境和接口 B、对用户的命令作出快速响应 C、作为服务机构向其它站点提供优质服务 D、防止有人以非法手段进入系统 (4)设计实时操作系统时,首先应考虑系统的。 A、可靠性和灵活性 B、实时性和可靠性 C、优良性和分配性 D、灵活性和分配性 (5)多道程序设计是指。 A、在分布式系统中同一时刻运行多个程序 B、在一台处理器上并行运行多个程序 C、在实时系统中并发运行多个程序 D、在一台处理器上并发运行多个程序

(6)以下关于并发性和并行性的说法正确的是。 A、并发性是指两个及多个事件在同一时刻发生 B、并发性是指两个及多个事件在同一时间间隔内发生 C、并行性是指两个及多个事件在同一时间间隔内发生 D、并发性是指进程,并行性是指程序 (1)B (2)B (3)A (4)B (5)D (6)B 2(填空题 (1)微机是以总线为纽带构成的计算机系统。 (2)在批处理兼分时系统中,往往把由分时系统控制的作业称为前台作业,把由批 处理系统控制的作业称为后台作业。 (3)在分时系统中,若时间片长度一定,则用户数越多,系统响应时间越慢。 (4)分布式操作系统能使系统中若干台计算机协同完成一个共同的任务,分解问 题成为子计算并使之在系统中各台计算机上并行执行,以充分利用各计算机的优势。 (5)用户通过网络操作系统可以网络通信、资源共享,从而大大扩展了计算机的 应用范围。 3(简答题 (1)什么是操作系统,现代操作系统的基本特征是什么, 并发性 (2)什么是批处理系统,衡量批处理系统好坏的主要指标是什么, 及时性 (3)试述分时系统的原理及其特性。时间片原则交互性同时性独立性及时性 (4)操作系统有哪几大特征,它的最基本特征是什么, 并发性虚拟性共享性异步性最基本特征并发性

行列式经典例题

大学-----行列式经典例题 例1计算元素为a ij = | i -j |的n 阶行列式. 解 方法1 由题设知,11a =0,121a =,1,1,n a n =- ,故 01110212 n n n D n n --= -- 1,1,,2 i i r r i n n --=-= 01 1111 111 n ---- 1,,1 j n c c j n +=-= 121 1 021 (1)2(1)020 1 n n n n n n ------=---- 其中第一步用的是从最后一行起,逐行减前一行.第二步用的每列加第n 列. 方法2 01110 212 0n n n D n n --= -- 1 1,2,,111 1111 120 i i r r i n n n +-=----=-- 1 2,,100120 1231 j c c j n n n n +=---= --- =12(1)2(1) n n n ---- 例2. 设a , b , c 是互异的实数, 证明: 的充要条件是a + b + c =0. 证明: 考察范德蒙行列式:

= 行列式 即为y 2前的系数. 于是 = 所以 的充要条件是a + b + c = 0. 例3计算D n = 121 100010n n n x x a a a x a ----+ 解: 方法1 递推法 按第1列展开,有 D n = x D 1-n +(-1) 1 +n a n 1 1111n x x x ----- = x D 1-n + a n 由于D 1= x + a 1,221 1x D a x a -=+,于是D n = x D 1-n + a n =x (x D 2-n +a 1-n )+ a n =x 2 D 2-n + a 1-n x + a n = = x 1 -n D 1+ a 2x 2 -n + + a 1-n x + a n =111n n n n x a x a x a --++++ 方法2 第2列的x 倍,第3列的x 2 倍, ,第n 列的x 1 -n 倍分别加到第1列上 12 c xc n D += 21121 10010000n n n n x x x a xa a a x a -----++

数字电路与系统设计课后习题答案

. 1.1将下列各式写成按权展开式: (352.6)10=3×102+5×101+2×100+6×10-1 (101.101)2=1×22+1×20+1×2-1+1×2-3 (54.6)8=5×81+54×80+6×8-1 (13A.4F)16=1×162+3×161+10×160+4×16-1+15×16-2 1.2按十进制0~17的次序,列表填写出相应的二进制、八进制、十六进制数。 解:略 1.3二进制数00000000~11111111和0000000000~1111111111分别可以代表多少个数?解:分别代表28=256和210=1024个数。 1.4将下列个数分别转换成十进制数:(1111101000)2,(1750)8,(3E8)16 解:(1111101000)2=(1000)10 (1750)8=(1000)10 (3E8)16=(1000)10 1.5将下列各数分别转换为二进制数:(210)8,(136)10,(88)16 解:结果都为:(10001000)2 1.6将下列个数分别转换成八进制数:(111111)2,(63)10,(3F)16 解:结果都为(77)8 1.7将下列个数分别转换成十六进制数:(11111111)2,(377)8,(255)10 解:结果都为(FF)16 1.8转换下列各数,要求转换后保持原精度: 解:(1.125)10=(1.0010000000)10——小数点后至少取10位 (0010 1011 0010)2421BCD=(11111100)2 (0110.1010)余3循环BCD码=(1.1110)2 1.9用下列代码表示(123)10,(1011.01)2: 解:(1)8421BCD码: (123)10=(0001 0010 0011)8421BCD (1011.01)2=(11.25)10=(0001 0001.0010 0101)8421BCD

行列式典型例题

第二讲 行列式综合训练 第一部分 例2.1 计算行列式,其中对角线上元素都是a ,未写出的元素都是零. n D = 1 1 a a 解 这道题可以用多种方法进行求解,充分应用了行列式的各种性质. 方法1 利用性质,将行列式化为上三角行列式. n D 11c n c a -?= 101 a a a a - =11()n a a a -- =n a -2n a - 方法2 仍然是利用性质,将行列式化为上三角行列式. n D n 1 r r -= 111 a a a --1n c c += 1 1 1 a a a +-=n a -2 n a - 方法3 利用展开定理,将行列式化成对角行列式. n D 1c 展开 =1 n a a a -+1 1 001 (1) 0n n a a +-- 而 1 1 001 (1) 0n n a a +--最后列展开 = 21 (1)n +-2 n a a -=2 n a -- n D =1n a a -?-2n a -=n a -2n a - 方法4 利用公式 A O O B =A B . 将最后一行逐行换到第2行,共换了2n -次;将最后一列逐列换到第2列,也共换了2n -次.

n D =2(2) (1)n --11a a a = 11a a 2 n a a -=n a -2 n a - 方法5 利用公式 A O O B =A B . 例2.2 计算n 阶行列式: 1121221 2 n n n n n a b a a a a b a D a a a b ++= + (120n b b b ≠) 解 采用升阶(或加边)法.该行列式的各行含有共同的元素12,,,n a a a ,可在保持 原行列式值不变的情况下,增加一行一列,适当选择所增行(或列)的元素,使得下一步化简后出现大量的零元素. 12112122 1 2 1000 n n n n n n a a a a b a a D a a b a a a a b +=++升阶 213111 n r r r r r r +---= 12121100 1001 n n a a a b b b --- 11 12,,1 j j c c b j n -+ =+= 1 1121 1 12100000000 n n a a a a a b b b b b + ++ =1 12 1 (1)n n n a a b b b b b + ++ 这个题的特殊情形是 12121 2 n n n n a x a a a a x a D a a a x ++= +=1 1 ()n n i i x x a -=+∑ 可作为公式记下来. 例2.3 计算n 阶行列式: 12111 1111 1 1n n a a D a ++= +

高等代数作业第二章行列式答案

第二章 行列式 §1—§4 一、填空题 1.填上适当的数字,使72__43__1为奇排列. 6,5 2.四阶行列式4 4?=ij a D 中,含24a 且带负号的项为_____. 112433421224314313243241,,a a a a a a a a a a a a 3.设.21 22221 112 11 d a a a a a a a a a nn n n n n =Λ ΛΛΛΛ ΛΛ 则._____1 2 21 22211 121=n n nn n n a a a a a a a a a Λ Λ ΛΛΛΛ Λ (1) 2(1)n n d -- 4.行列式1 1 1 11 1 11 ---x 的展开式中, x 的系数是_____. 2 二、判断题 1. 若行列式中有两行对应元素互为相反数,则行列式的值为0 ( )√ 2. 设d = nn n n n n a a a a a a a a a ΛΛΛΛΛΛΛ212222111211 则1211122221 21 n n n nn n a a a a a a a a a L L L L L L L =d ( )× 3. 设d = nn n n n n a a a a a a a a a ΛΛΛΛΛΛΛ21 22221 11211 则 d a a a a a a a a a n nn n n n -=11211 2122221ΛΛΛ ΛΛΛ ΛΛ( )× 4. abcd z z z d y y c x b a =000000 ( ) √ 5. abcd d c x b y x a z y x -=0 000 00 ( )× 6. 00 00000=y x h g f e d c b a ( ) √ 7. 如果行列式D 的元素都是整数,则D 的值也是整数。( )√ 8. 如果行列D 的元素都是自然数,则D 的值也是自然数。( )× 9. n n a a a a a a ΛN 212 1 = ( )× 10. 0 10000 2000 010 Λ ΛΛΛΛΛΛ ΛΛn n -=n ! ( )× 三、选择题

数字电路与系统设计课后习题答案

1、1将下列各式写成按权展开式: (352、6)10=3×102+5×101+2×100+6×10-1 (101、101)2=1×22+1×20+1×2-1+1×2-3 (54、6)8=5×81+54×80+6×8-1 (13A、4F)16=1×162+3×161+10×160+4×16-1+15×16-2 1、2按十进制0~17的次序,列表填写出相应的二进制、八进制、十六进制数。 解:略 1、3二进制数00000000~11111111与0000000000~1111111111分别可以代表多少个数?解:分别代表28=256与210=1024个数。 1、4将下列个数分别转换成十进制数:(1111101000)2,(1750)8,(3E8)16 解:(1111101000)2=(1000)10 (1750)8=(1000)10 (3E8)16=(1000)10 1、5将下列各数分别转换为二进制数:(210)8,(136)10,(88)16 解:结果都为:(10001000)2 1、6将下列个数分别转换成八进制数:(111111)2,(63)10,(3F)16 解:结果都为(77)8 1、7将下列个数分别转换成十六进制数:(11111111)2,(377)8,(255)10 解:结果都为(FF)16 1、8转换下列各数,要求转换后保持原精度: 解:(1、125)10=(1、0010000000)10——小数点后至少取10位 (0010 1011 0010)2421BCD=(11111100)2 (0110、1010)余3循环BCD码=(1、1110)2 1、9用下列代码表示(123)10,(1011、01)2: 解:(1)8421BCD码: (123)10=(0001 0010 0011)8421BCD (1011、01)2=(11、25)10=(0001 0001、0010 0101)8421BCD (2)余3 BCD码 (123)10=(0100 0101 0110)余3BCD (1011、01)2=(11、25)10=(0100 0100、0101 1000)余3BCD 1、10已知A=(1011010)2,B=(101111)2,C=(1010100)2,D=(110)2 (1)按二进制运算规律求A+B,A-B,C×D,C÷D, (2)将A、B、C、D转换成十进制数后,求A+B,A-B,C×D,C÷D,并将结果与(1)进行比较。解:(1)A+B=(10001001)2=(137)10 A-B=(101011)2=(43)10 C×D=(111111000)2=(504)10 C÷D=(1110)2=(14)10 (2)A+B=(90)10+(47)10=(137)10 A-B=(90)10-(47)10=(43)10 C×D=(84)10×(6)10=(504)10 C÷D=(84)10÷(6)10=(14)10 两种算法结果相同。 1、11试用8421BCD码完成下列十进制数的运算。 解:(1)5+8=(0101)8421BCD+(1000)8421BCD=1101 +0110=(1 0110)8421BCD=13

文本预览