Globalstar Satellite Phased Array Antennas

Authorized licensed use limited to: University of Electronic Science and Tech of China. Downloaded on December 24, 2009 at 03:06 from IEEE Xplore. Restrictions apply.

Authorized licensed use limited to: University of Electronic Science and Tech of China. Downloaded on December 24, 2009 at 03:06 from IEEE Xplore. Restrictions apply.

Authorized licensed use limited to: University of Electronic Science and Tech of China. Downloaded on December 24, 2009 at 03:06 from IEEE Xplore. Restrictions apply.

Authorized licensed use limited to: University of Electronic Science and Tech of China. Downloaded on December 24, 2009 at 03:06 from IEEE Xplore. Restrictions apply.

数组练习题

单选: 1.下列数组说明中,正确的是(). A.int array[][4]; B.int array[][]; C.int array[][][5]; D.int array[3][]; 2.下列定义数组的语句中正确的是(). A.#define size 10 char str1[size],str2[size+2]; B.char str[]; C.int num['10']; D.int n=5; int a[n][n+2]; 3.下列定义数组的语句中不正确的是(). A.int a[2][3]={1,2,3,4,5,6}; B.int a[2][3]={{1},{4,5}}; C.int a[][3]={{1},{4}}; D.int a[][]={{1,2,3},{4,5,6}}; 4.若输入ab,程序运行结果为(). main() { char a[2]; scanf("%s",a); printf("%c,%c",a[1],a[2]); } A.a,b B.a, C.b, D.程序出错 5.下列数组说明中,正确的是(). A.char str[]="China"; B.char str[]; str="China"; C.char str1[5],str2[]={"China"}; str1=str2; D.char str1[],str2[];str2={"China"}; strcpy(str1,str2); 6.下列语句中,不正确的是(). A.static char a[2]={1,2}; B.static int a[2]={'1','2'}; C.static char a[2]={'1','2','3'}; D.static char a[2]={'1'}; 7.int a[10];合法的数组元素的最小下标值为(). A.10 B.9 C. 1 D.0 8.char a[10];不能将字符串"abc"存储在数组中的是 (). A.strcpy(a,"abc"); B.a[0]=0;strcat(a,"abc"); C.a="abc"; D.int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; 9.int i,j,a[2][3];按照数组a的元素在内存的排列次序, 不能将数1,2,3,4,5,6存入a数组的是(). A.for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+1; B.for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+1; C.for(i=0;i<6;i++)a[i/3][i%3]=i+1; D.for(i=1;i<=6;i++)a[i][i]=i; 10.char str[10]="China";数组元素个数为(). A. 5 B. 6 C.9 D.10 11.若char a[10];已正确定义,以下语句中不能从键盘 上给a数组的所有元素输入值的语句是(). A.gets(a); B.scanf("%s",a); C.for(i=0;i<10;i++)a[i]=getchar(); D.a=getchar(); 12.char a[]="This is a program.";输出前5个字符的语 句是(). A.printf("%.5s",a); B.puts(a); C.printf("%s",a); D.a[5*2]=0;puts(a); 13.int a[10]; 给数组a的所有元素分别赋值为1、2、 3、……的语句是(). A.for(i=1;i<11;i++)a[i]=i; B.for(i=1;i<11;i++)a[i-1]=i; C.for(i=1;i<11;i++)a[i+1]=i; D.for(i=1;i<11;i++)a[0]=1; 14.以下程序段的输出结果为(). char c[]="abc"; int i=0; do ; while(c[i++]!='\0'); printf("%d",i-1); A.abc B.ab C. 2 D. 3

第六章数组习题答案

第六章数组习题答案 一、单项选择题 1. C语言中,一维数组下标的最小值是(B )。 A)1 B) 0 C) 视说明语句而定D) 无固定下限 2. 若有定义语句:int a[3][6];,按在内存中的存放顺序,a数组的第10个元素是( B )。A)a[0][4] B) a[1][3] C) a[0][3] D) a[1][4] 3. 设有数组定义:char str[ ]=”China0”,则数组str所占的空间为( D )字节。 A)4个B) 5个C) 6个D) 7个 4. 若有定义语句:char str[ ]=”ab\n\012\\\n”; 则执行语句:printf(“%d”,strlen(str));后,输出结果是( A )。 A)3 B) 4 C) 6 D) 12 5. 下列描述中不正确的是( C )。 A)字符型数组中可以存放字符串 B)可以对字符型数组进行整体输入、输出 C)可以对整型数组进行整体输入、输出 D)不能在赋值语句中通过赋值运算符”=”对字符型数组进行整体赋值 6. 当用户要求输入的字符串中含有空格时,应使用的输入函数是( C )。 A)scanf( ) B)getchar( ) C) gets( ) D) getc( ) 7. 有以下程序 #include main( ) { int i,x[3][2]={0}; for(i=0;i<3;i++) scanf(“%d”,x[i]); printf(“%3d%3d%3d\n”,x[0][0], x[0][1], x[1][0]); } 程序运行后的输出结果是()。 A)2 0 0 B) 2 0 4 C) 2 4 0 D) 2 4 6 8. 有以下程序 #include #include main( ) { char p[20]={‘a’,’b’,’c’,’d’},q[ ]=”abc”,r[ ]=”abcde”; strcpy(p+strlen(q),r); strcat(p,q); printf(“%d %d\n”,sizeof(p),strlen(p)); } 程序运行后的输出结果是( C )。 A)20 9 B) 9 9 C) 20 11 D) 11 11 9. 有以下程序 #include #include main( )

孪生素数个数公式

孪生素数个数计算公式 李联忠 (营山中学 四川营山 637700) 摘要:孪生素数个数计算公式 ∑ -∑-∑-? ??? ????++ +??? ? ?? ???++??? ? ? ? ??++ =≠==p p p x p p x p x L i i i i j k j k j k kj i k k k I n n n n 2 112,12 11 )1() 1() 1(、 +q-h n 前的素数均是n 的约数时,孪生素数个数计算公式 p p p p p p i i n L 22 12 2 1 1 -? ?-?-? = +q-h 关键词:数论 孪生素数 公式 中图分类号: 文献标识号: 文章编号: 孪生素数:相差2的素数叫孪生素数。 引理:若 p p n i 21 i 2+≤< , p p p p p i i k 1 2 1 ,, ,, ,3, 2+== 为连续素数,则在1、2、 3…n 中去掉 p k 的倍数,余下的数(1除外)全为素数。 分析下面相差2的数组 (1,3) (2,4)…(m,m+2)…(n,n+2) (1≤m ≤n) 若 p p n i 21 i 2+≤< p p p p p i i k 1 2 1 ,, ,, ,3, 2+== 为连续素数,在1、2、3…n 中去 掉除以 p k 余0和余( 2-p k )的数,则余下的数组(m,m+2)中,m和(m+2) 都不是前i个素数的倍数,据引理,余下的数组全为孪生素数(若n 为素数,n+2=p i 21 +, (n,n+2)除外,i=1,(1,3)除外),仿照素数公式可得出类似的孪生素数计算公式 ∑ -∑ -∑ ∑ + + ++ + + + + - =≠≠=≠==] [][ ][ ][p p p x p p p x p p x p x L i i i i j k l j k l j k l lkj i j k j k j k kj i k k k i n n n n n 2 1 12,1,,3 ,1,1 ) 1() 1( =q-h ) )2,(),3,1(2101(该去而未去指或、倍数被去掉了;作为的孪生素数,因为它们 表不大于 +=n n h q p i ()(mod 20,),(mod 20);(mod 02 2 1 1p x p x p x i i 或或≡≡≡

LF炉外精炼技术和装备发展概述

LF炉外精炼技术和装备发展概述 作者:刘景春 摘要:我国钢包二次精炼技术之一LF精炼,初期市场需求少,不受重视,精炼产品主要集中在特钢行业;随市场对高端精炼产品的需求量快速提高,现LF精炼装置在钢厂被大量使用,LF装备、技术也在中国被逐步完善,LF精炼产品在品种质量、技术装备和节能减排等方面进步明显。 LF精炼未来发展方向:缩短LF精炼的周期,工艺、装备上技术更先进,更节能环保及降本。 关键词:LF精炼炉单工位LF双工位LF 1概述 回顾总结我国炉外精炼技术和装备的发展,在改革开放初期,此时,整个市场对需精炼要求的钢种不多,需求量很少。国内钢厂大多不设精炼装置,转炉或电炉出钢后,钢水直接进行连铸或模铸。 现随着时代的发展,对钢的质量(钢的纯净度)的要求越来越高,用常规炼钢方法冶炼出来的钢液已难以满足其质量要求,另外随着连铸技术的发展,对钢液的成分、温度等提出了更严格的要求。因此为提高生产率,提高产品质量,缩短冶炼时间,使冶炼、浇铸工序实现最佳衔接,于是产生了各种炉外精炼(钢包二次精炼)方法。 众知,在钢包内进行钢水二次精炼处理过程中,在进行吹氩搅拌、脱硫、合金化等作业时,不可避免均为引起钢水温度降低。以往通常仅通过提高一次冶炼(转炉、电炉)出钢钢水温度(过热度)来补偿。但提高一次冶炼出钢钢水过热度,引起如下的问题:增加一次冶炼时间,其结果引起相应的生产率下降;钢水吸收更多有害气体、减少耐材使用寿命等。 LF炉精炼法的一个突出特点是具有方便加热手段,可以在钢包内对钢液进行电加热,所有在精炼过程中所需的吸热与散热均可通过电加热得到补偿。 LF(Ladel Furnace)炉是上世纪70年代初期出现的新型二次精炼设备,世界上第一套以电加热、用吹氩为搅拌的LF装置,是1971年在日本大同钢铁公司大森特殊钢厂开发成功。40多年来这项技术得到高度发展和广泛应用。 2我国LF钢包精炼炉的发展 我国上世纪九十年代起,当电炉钢厂在引进大型电弧炉的同时也引进了与电炉相匹配的LF精炼炉装置,其目的在于增产扩产。当时的电炉采用的传统工艺,冶炼时间过长,影响电炉生产能力和电炉厂的全连铸生产。匹配LF以后,电炉的脱氧、脱硫、调温、合金化及去除夹杂物的五大任务,将由LF精炼炉完成,其结果缩短了一次冶炼时间,加快生产节奏,从而解放了电炉的生产力,为电炉厂采用全连铸生产创造了良好的工序协调条件。

第1类 计算素数

第1类计算素数 第1套试题答案及解析 【审题关键句】将大于整数m且紧靠m的k个素数存入数组。 【解题思路】 ①首先定义一个计数变量cnt并赋初值为0。 ②利用while循环统计大于整数m且紧靠m的k个素数,当计数变量cnt 的值与变量k的值相等的时候,则退出while循环。每执行一次循环时,变量m 的值加1,然后调用函数isP()判断当前的m值是否为素数,如果是素数,则将m的值赋给数组xx[cnt],同时计算变量cnt的值加1,即当数组xx[0]中保存了一个素数之后,在T一次素数判断成立时将保存到xx[1]的位置上,依次类推。 【参考答案】 第2套试题答案及解析 【审题关键句】求素数的个数及平均值,并计算非素数的平均值。 【解题思路】 ①首先定义循环变量i,然后通过for循环对数组a[300]d0的每个元素a[i]调用函数isV(a[i])判断a[i]是否是素数(素数的算法已在isP()函数中给出,此处直接调用即可),如果是素数,则把其加到变量pjz1上,同时计数变量cnt 加1,否则a[i]值加到变量pjz2上。直到判断完数组a[300]00的所有数据后退出循环。 ②求出pJz1、pjz2和cnt的值之后,再用变量pjz1的值除以cnt的值就得到素数的平均值,同时把这个值赋给变量pjz1,最后用变量pjz2的值除以300.cnt的值就得到非素数的平均值,并把这个值赋给变量pjz2。 【参考答案】

第3套试题答案及解析 【审题关键句】100以内(含l00)满足i、i+4、i+10都是素数的整数的个数以及这些i之和。 【解题思路】 ①首先定义循环变量i,然后将i的值赋初值为3,每循环一次则将i的值加1,直到i<90。 ②在for循环中,每执行一次循环则调用函数isPrime()(该函数具体的算法已经在源程序中给出,直接用即可),对i、i+4、i+10是否同时是素数进行判断,如果这三个数同时为素数,则计数变量cnt值加1,同将时将变量i的值累加到sum上。 【参考答案】 第4套试题答案及解析 【审题关键句】求素数的个数,存入数组,按从小到大的顺序排序。 【解题思路】 ①首先定义两个循环变量循环i、j和一个用于数据交换的整型变量tmp。 ②通过for循环依次读取数组中的300个数,其中,循环变量i从0开始每次加1,直到i<300停止循环;在每次循环中判断a[i]是否是素数,如果是素数,则把a[i]的值赋给数组b[cnt],同时数组下标变量cnt值加1。 ③在退出循环后,用两个for循环对数组b[]中元素进行两两比较,实现数

筛法求素数

筛法求素数 目录 基本思想 C语言实现 pascal实现: 1C++实现: 2python 实现: 基本思想 用筛法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列,1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。如有: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1不是素数,去掉。剩下的数中2最小,是素数,去掉2的倍数,余下的数是: 3 5 7 9 11 13 15 17 19 21 23 25 27 29 剩下的数中3最小,是素数,去掉3的倍数,如此下去直到所有的数都被筛完,求出的素数为: 2 3 5 7 11 13 17 19 23 29 C语言实现 1、算法一:令A为素数,则A*N(N>1;N为自然数)都不是素数。 #define range 2000 bool IsPrime[range+1]; //set函数确定i是否为素数,结果储存在IsPrime[i]中,此函数在DEV C++中测试通过 void set(bool IsPrime[]) { int i,j; for(i=0;i<=range;++i) IsPrime[i]=true; IsPrime[0]=IsPrime[1]=false; for(i=2;i<=range;++i) { if(IsPrime[i]) { for(j=2*i;j<=range;j+=i) IsPrime[j]=false; } } } 2、 说明:解决这个问题的诀窍是如何安排删除的次序,使得每一个非质数都只被删除一次。中学时学过一个因式分解定理,他说任何一个非质(合)数都可以分解成质数的连乘积。例如,16=4^2,18=2 * 3^2,691488=2^5 * 3^2 * 7^4等。如果把因式分解中最小质数写在最左边,有16=4^2,18=2*9,691488=2^5 * 21609,;换句话说,把合数N写成N=p^k * q,此时q当然是大于p的,因为p是因式分解中最小的质数。由于因式分解的唯一性,任何一个合数N,写成N=p^k * q;的方式也是唯一的。由于q>=p的关系,因此在删除非质数时,如果已知p是质数,可以先删除P^2,p^3,p^4,... ,再删除pq,p^2*q,p^3*q,...,(q是比p大而没有被删除的数),一直到pq>N为止。 因为每个非质数都只被删除一次,可想而知,这个程序的速度一定相当快。依据Gries与Misra的文章,线性的时间,也就是与N成正比的时间就足够了(此时要找出2N的质数)。(摘自《C语言名题精选百则(技巧篇)》,冼镜光编著,机械工业出版社,2005年7月第一版第一次印刷)。代码如下: #include #include using namespace std; int main() { int N; cin>>N; int *Location=new int[N+1]; for(int i=0;i!=N+1;++i) Location[i]=i; Location[1]=0; //筛除部分int p,q,end; end=sqrt((double)N)+1; for(p=2;p!=end;++p) { if(Location[p]) { for(q=p;p*q<=N;++q) { if(Location[q]) { for(int k=p*q;k<=N;k*=p) Location[k]=0; } } } } int m=0; for(int i=1;i!=N+1;++i) { if(Location[i]!=0) { cout<

LISP语言教程

LISP语言教程 作者:牛魔王 — 上次修改时间: 2007-03-22 13:13 Scheme 语言是LISP语言的一个方言(或说成变种),它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,它并没有象C++,java,C#那样受到商业领域的青睐,在国内更是显为人知。但它在国外的计算机教育领域内却是有着广泛应用的,有很多人学的第一门计算机语言就是Scheme语言。Scheme 语言概要 Author:宋国伟吉林省德惠市信息中心 Date:2003 年12 月01 日 Scheme 语言是LISP语言的一个方言(或说成变种),它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,它并没有象C++,java,C#那样受到商业领域的青睐,在国内更是显为人知。但它在国外的计算机教育领域内却是有着广泛应用的,有很多人学的第一门计算机语言就是Scheme语言。 作为Lisp 变体,Scheme 是一门非常简洁的计算语言,使用它的编程人员可以摆脱语言本身的复杂性,把注意力集中到更重要的问题上,从而使语言真正成为解决问题的工具。本文分为上、下两部分来介绍scheme 语言。一.Scheme语言的特点

Scheme 语言是LISP语言的一个方言(或说成变种),它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,它并没有象C++,java,C#那样受到商业领域的青睐,在国内更是显为人知。但它在国外的计算机教育领域内却是有着广泛应用的,有很多人学的第一门计算机语言就是Scheme语言。 它是一个小巧而又强大的语言,作为一个多用途的编程语言,它可以作为脚本语言使用,也可以作为应用软件的扩展语言来使用,它具有元语言特性,还有很多独到的特色,以致于它被称为编程语言中的"皇后"。 下面是洪峰对Scheme语言的编程特色的归纳: ?词法定界(Lexical Scoping) ?动态类型(Dynamic Typing) ?良好的可扩展性 ?尾递归(Tail Recursive) ?函数可以作为值返回 ?支持一流的计算连续 ?传值调用(passing-by-value) 术运对 ?算算相独立 本文的目的是让有编程基础(那怕是一点点)的朋友能尽快的掌握Scheme语言语规则读发现经Scheme语言了,那么我的的法,如果您在完本文后,自己已会用 目的就达到了。

孪生素数猜想初等证明详解

孪生素数猜想初等证明详解 齐宸 孪生素数是指相差2的素数对,例如3和5,5和7,11和13…。孪生素数猜想正式由希尔伯特在1900年国际数学家大会的报告上第8个问题中提出,可以这样描述:存在无穷多个素数p,使得p + 2是素数。 素数对(p, p + 2)称为孪生素数。 孪生素数由两个素数组成,相差为2。为了证明孪生素数猜想,无数的数学家曾为之奋斗,但美丽的公主仍然犹抱琵琶半遮面。 1.孪生素数分类及无个位表示方法 孪生素数按两个素数个位不同划分3类(不包括10以下的3-5、5-7),分别是: 1、孪生素数中两个素数个位为1和3,如11-13,41-43等; 2、孪生素数中两个素数个位为7和9,如17-19,107-109等; 3、孪生素数中两个素数个位为9和1,如29-31,59-61等。 三类孪生素数中个位为1和3的第一类是我们需要重点研究的,其他两类可以忽略不计。因为只要第一类孪生素数无限,也就等价于证明了孪生素数猜想。 自有孪生素数概念以来它们就是由两个素数表示的。若是能简化成一个数字那孪生素数猜想这一世界数学难题也许就向前迈进了一步。无论这一步是一小步,还是一大步。但毕竟能将两个素数组成的孪生素数降格成了像素数那样的单个数字。 分析一下个位为1和3的这一类孪生素数,如41-43这对孪生素数。首先,分别去掉个位1和3后,可以看到剩下了两个数字4和4。用这两个数字完全可以表示一对孪生素数,当然我们心里要想着在这两个数字后面是有个位1和3的。其次,这两个去掉个位的数字又是完全相同的,都是一个数字“4”。这样也就完全可以用一个数字“4”来表示一对孪生素数,也可以说4是一个单数字无个位孪生素数。当然表面上看只有第一类、第二类孪生素数可以用一个数字表示(实际上第三类也可以)。 为什么一定要去掉个位呢? 可将自然数变成互为补集的两类:孪生素数和非孪生素数。并利用一种简单的筛法,将自然数中的非孪生素数及其补集孪生素数分开。而且这个筛法所要得到的是非孪生素数。并用非孪生素数证明孪生素数猜想。 自然数分成互补的孪生素数与非孪生素数,这是一种新的观点。恐怕没有人相信这种新奇的想法,但这是可以实现的。而且还可以将自然数分成互补的四胞胎素数与非四胞胎素数等。

精炼渣的作用有哪些

精炼渣的作用有哪些?据悉,现代化炉外精炼造渣技术简单、容易、渣量大小、渣子黑黄、渣子稀稠等无关紧要,随便造渣,谁都可以造渣,这种不重视造渣的观点是非常错误的。在精炼渣的系统概论一文里,郑州镫达公司专家曾介绍,造渣是一种技艺,是最重要的基本功,要靠长期经验积累,造好渣并不容易。(河南精炼渣厂专家提醒:到位后必须先加脱氧剂、增碳,达到先脱、脱硫,后调整成分的观念,这样才能炼出好钢) (1)精炼渣的作用 LF炉精炼渣是由CaO、SiO2、Al2O3、MgO、MnO等氧化物所组成的碱性渣,其作用是: A、稳定电弧燃烧。 b、保持钢水温度,减少降温。 c、保护钢水防止或减少二次氧化和吸气。 D、吸收和容纳钢水中非金属夹杂物。 E、通过造渣控制炼钢过程物理化学反应的方向,速度和完全的程度,做好脱氧、脱硫。 F:精炼渣的冶金功能 (2)LF炉白渣精炼 LF炉白渣精炼,才能更有效的发挥炉渣上述五方面的作用。很多实验证明,碱性白渣具有很强的脱氧能力,具有很好的还原性。这是碱性白渣的主要作用。所谓碱性白渣是指碱度达到3-4之间,渣中CaO≥60%、FeO≤0.5%,渣壳厚度3-4mm,渣发泡活泼,渣冷却后变成白色粉沫状,这就是白渣。白渣所以变成粉沫状,是因为渣中正硅酸盐(2CaO?SiO2),冷却至850℃时,发生同素异形转变,由α晶格转变为γ晶格,体积增大,自动粉化。

碱性白渣的主要功能是扩散脱氧。扩散脱氧的基本原理是在一定温度下,钢水和钢渣氧的浓度比是一个常数,用脱氧剂将渣中氧脱掉,渣中氧浓度下降,为保持平衡常数不变,钢中氧不断向渣中扩散,从而达到脱氧目的。脱氧同时也脱硫。 LF炉碱性白渣本身具有很强的脱氧能力,由于埋孤加热,电极中的C还原渣中氧化物,产生的CO气体具有还元性氧氛,Ar气搅拌,不断更析渣钢介面,加速脱氧脱S反应,白渣不污染钢水,因而白渣精炼效果更佳。 (3)碱性白渣的性能 为了充分发挥碱性白渣扩散脱氧的还原性,对碱性白渣提出以下性能要求:(可适当讲一下还原性及氧化性,最外层电子数) 本文由河南精炼渣厂官网原创,禁止转载!厂家直销预熔型精炼渣、铝酸钙、脱硫剂等产品。

第4章 串与数组 习题参考答案

习题四参考答案 一、选择题 1.下面关于串的叙述中,哪一个是不正确的?(B ) A.串是字符的有限序列 B.空串是由空格构成的串 C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储 2.串的长度是指( A ) A. 串中包含的字符个数 B. 串中包含的不同字符个数 C. 串中除空格以外的字符个数 D. 串中包含的不同字母个数 3.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( C )A.求子串B.联接C.模式匹配D.求串长 4.设主串的长度为n,模式串的长度为m,则串匹配的KMP算法时间复杂度是( C )。 A. O(m) B. O(n) C. O(n + m) D. O(n×m) 5. 串也是一种线性表,只不过( A )。 A. 数据元素均为字符 B. 数据元素是子串 C. 数据元素数据类型不受限制 D. 表长受到限制 6.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主进行存储,a11为第一元素, 其存储地址为1,每个元素占一个地址空间,则a85的地址为( B )。 A. 13 B. 33 C. 18 D. 40 7. 有一个二维数组A[1..6, 0..7] ,每个数组元素用相邻的6个字节存储,存储器按字节编址, 那么这个数组占用的存储空间大小是(D )个字节。 A. 48 B. 96 C. 252 D. 288 8.设有数组A[1..8,1..10],数组的每个元素占3字节,数组从内存首地址BA开始以列序 为主序顺序存放,则数组元素 A[5,8]的存储首地址为( B )。 A. BA+141 B. BA+180 C. BA+222 D. BA+225 9. 稀疏矩阵的三元组存储表示方法( B ) A. 实现转置操作很简单,只需将每个三元组中行下标和列下标交换即可 B. 矩阵的非零元素个数和位置在操作过程中变化不大时较有效 C. 是一种链式存储方法 D. 比十字链表更高效 10. 用十字链表表示一个稀疏矩阵,每个非零元素一般用一个含有( A )域的结点表示。 A.5 B.4 C. 3 D. 2 二、填空题 1. 一个串的任意连续字符组成的子序列称为串的子串,该串称为主串。2.串长度为0的串称为空串,只包含空格的串称为空格串。 3. 若两个串的长度相等且对应位置上的字符也相等,则称两个串相等。 4. 寻找子串在主串中的位置,称为模式匹配。其中,子串又称为模式串。 5. 模式串t="ababaab"的next[]数组值为-1001231,nextval[]数组值为-10-10-130。 6. 设数组A[1..5,1..6]的基地址为1000,每个元素占5个存储单元,若以行序为主序顺序 存储,则元素A[5,5]的存储地址为1140。

AutoLISP 基础——认识自定义函数

AutoLISP基础——认识自定义函数 (本文由LL_J?认识自定义函数?和?Autolisp编程心得?两篇巨著合成,并融入了其他人的一些经验,以快速打通你的任督二脉——自贡黄明儒注) 一、初识Lisp 在AutoCad命令输入(+ 1 2 3),回车返回6,如下 命令: (+ 1 2 3) 6 恭喜你,你已经会写Lisp程序了。这里,我们用到了一个系统定义的函数+,这个函数的作用就是对后面的数字求和。 上式一对英文括号组成的表达式,称之为表,Lisp语言也称为表的语言。表有两种形式,一种是?口袋式?表;一种是?函数式?表。前者如’(0 0)表示一个2维点,前面加’表示此表不求值。如果不加‘,则通常是认为是?函数式?表。?函数式?表如下: ①结构特点:左括号(紧跟函数,函数所需要的参数,右括号)结束。 ②函数是指:系统定义的函数、自定义的函数、匿名函数lambda。如 ((lambda(x y z) (* x y z)) 3 4 5)是合理的。 ③参数可以是:数字(整数、实数)、字符串、T、nil、表(如果此 表是表、函数,就构成了复杂表,这就是lisp程序)、函数。 ④表可以作为函数的参数。如(+ 1 (- 5 2) 3)中,表(- 5 2)就作为+函数 的参数。 ⑤表的返回值也可以传递给其它变量,如(setq x (+ 1 2 3)) ⑥接受输入参数,如(- 5 2)中,-函数接受5和2两个参数。 二、什么是函数 函数一词最早来源于数学,维基百科这样说:函数是将唯一的输出值赋予每一输入的"法则"以及该输出值与对应输入值的集合。 在计算机领域,对函数并没有一个完整的定义,百度百科有这样一句话:"许多程序设计语言中,可以将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,所以,函数也可以说是许多代码的集合,这就是程序中的函数。 综合以上描述,我们可以看到"函数"的基本组成: 输入值:一般称为参数; 表达式:函数体,是代码的集合,共同组成上面所说的"法则";

求孪生素数问题

求孪生素数问题 问题求孪生素数问题。孪生素数是指两个相差为2的素数,例如:3和5,5和7,11和13 等。编程实现输出15对孪生素数。 分析判断是否是循环需要循环,找到15对孪生素数也需要循环,因此该问题是二重循环问题。 数据要求 问题中的常量: 无 问题的输入: 无。 问题的输出: 15对孪生素数。 设计初始算法 1 初始化nCount为零。 2 从2开始判断某个数是否是素数,并且这个数加2是不是素数 3 找到15对孪生素数,结束。 算法细化 我们在循环中引入一个nCount来控制找到15对孪生素数就行。 附加的程序变量 Int nCount=0; 步骤2的细化 2.1 判断某个数是否是素数 2.2 判断这个数加2是不是素数 其中步骤2可以进一步细化,因为求素数是一个简单的问题,我们需要判断比这个 数小的数中,除了它本身和1之外,还有没有别的约数就可以了。 步骤2.1细化 2.1 for(i=2;i<=n-1;i++) 如果(n%i==0) { break; } 流程图

实现 #include "stdio.h" #include "math.h" int isprime(int n) { int nRet=1; int i; if(n<2) nRet=0; for(i=2;i<=n-1;i++) if(n%i==0) { nRet=0; break; } return nRet; } main( ) { int k=2,nCount=0; do { if(isprime(k)&&isprime(k+2)) { nCount+=1; printf(“%d,%d”,k,k+2); } k=k+1; } while(n<15); } 测试输出15对孪生素数,略。

钢包精炼炉的主要功能有哪些

钢包精炼炉的主要功能有哪些? 一是钢液升温和保温功能。钢液通过电弧加热获得新的热能,这不但能使钢包精炼时可以补加合金和调整成分,也可以补加渣料,便于钢液深脱硫和脱氧。而且连铸要求的钢液开浇温度得到保证,有利干铸坯质量的提高。 二是氩气搅拌功能。氩气通过装在钢包底部的透气砖向钢液中吹氛,钢液获得一定的搅拌功能,钢液的搅动至少有以下好处:1.钢液温度均匀;2.钢液与渣层底部有洗刷的作用,迅速脱硫;3.去除钢液中夹杂物;4.控制夹杂物形态;5.便于增碳或脱碳;6.降低氧含量。 三是真空脱气功能。通过钢包吊入真空罐后,采用蒸汽喷射泵进行真空脱气,同时通过包底吹入氩气搅动钢液,可以去除钢液中的氢含量和氮含量,并进一步降低氧含量和硫含量,最终获得较高纯净度的钢液和性能优越的材质。 钢包精炼炉的应用对整个企业来看,至少可增加如下得益: 加快生产节奏,提高整个冶金生产效率。据统计,在熔化炉后增加钢包精炼炉装置后,可使生产率提高25%。 由于提供给连铸机的钢液温度十分适中,可降低连铸机的拉漏率,提高生产作业中的成品率。 提高钢液纯净度,可以熔炼材料性能要求较高各种冶金产品。 高炉各部位工作环境 总体来说,高炉冶炼时各部位的工作环境都很恶劣,但也有些细微区别。 炉喉:它主要是起保护炉衬作用。炉喉正常工作时,温度为400~500度,受炉料的撞击和摩擦较为激烈,极易磨损。因此,炉喉部位一般多用高铝砖砌筑,炉喉钢砖一般采用铸钢件,即使这样,炉喉受侵蚀仍不可避免,特别是炉喉钢砖下沿受物料冲击磨损更为突出。

炉身:高炉本体重要组成部分,起着炉料的加热、还原和造渣作用,自始至终承受着煤气流的冲刷与物料冲击。但炉身上部和中部温度较低(400~800度),无炉渣形成和渣蚀危害。这部位主要承受炉料冲击、炉尘上升的磨损或热冲击(最高达50度/分),或者受到碱、锌等的侵入,碳的沉积而遭受损坏。 炉身下部温度较高,有大量炉渣形成,有炽热炉料下降时的摩擦作用;煤气上升时粉尘的冲刷作用和碱金属蒸气的侵蚀作用。因此这个部们极易受侵蚀,严重者冷却器全部补侵蚀光,只靠钢甲来维持。例如某钢厂5号高炉,1996年4月破损调查时发现,7段2钢甲裂纹像网一样纵横交错,几乎连成一片,裂纹、龟裂严重,此段冷却壁基本全部被侵蚀、蚀光,只靠钢甲用来维持(炉役后期)的。这种现象在全国基他高炉上也可能有类似的现象。也就是说,高炉寿命长短与炉身部位的寿命长短有很大关系。因此,(特别是炉身下部)要求是选用有良好抗渣性、抗碱性及高温强度和耐磨性较高的优质粘土砖、高铝砖和刚玉砖。 炉腰:它起着上升煤气煤气流的缓冲作用。炉料在这里已部分还原造渣,透气性较差,同时渣蚀严重。另外,炉腰部位的温度高(1400~1600度),高温辐射侵蚀严重,碱的侵蚀也比较严重,含尘的炽热炉气上升,对炉衬产生较强的冲刷作用;焦炭等物料产生摩擦;热风通过时引起温度急剧变化作用。所以,炉腰极易受损的区域。直接影响了高炉寿命。其侵蚀原因见表9-2 9-2高炉砖衬侵蚀原因 部位 侵蚀原因 炉身上部 (1)炉料磨损 (2)煤气流冲刷 (3)碱金属、锌、沉积碳的侵蚀 炉身中、下部及炉腰部位 (1)碱金属、锌、沉积碳的侵蚀 (2)初成渣的侵蚀 (3)热震引起的剥落 (4)高温煤气流的冲刷 炉腹部位 (1)渣铁水的冲刷

孪生素数

孪生素数 要介绍孪生素数,首先当然要说一说素数这个概念。 素数是除了1 和它本身之外没有其它因子的自然数。素数是数论中最纯粹、最令人着迷的概念。除了 2 之外,所有素数都是奇数(因为否则的话除了 1 和它本身之外还有一个因子2,从而不满足素数的定义),因此很明显大于2 的两个相邻素数之间的最小可能间隔是2。 所谓孪生素数指的就是这种间隔为2 的相邻素数,它们之间的距离已经近得不能再近了,就象孪生兄弟一样。最小的孪生素数是(3, 5),在100 以内的孪生素数还有(5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61) 和(71, 73),总计有8 组。但是随着数字的增大,孪生素数的分布变得越来越稀疏,寻找孪生素数也变得越来越困难。那么会不会在超过某个界限之后就再也不存在孪生素数了呢? 我们知道,素数本身的分布也是随着数字的增大而越来越稀疏,不过幸运的是早在古希腊时代,Euclid 就证明了素数有无穷多个 (否则今天许多数论学家就得另谋生路)。长期以来人们猜测孪生素数也有无穷多组,这就是与Goldbach 猜想齐名、集令人惊异的简单表述和令人惊异的复杂证明于一身的著名猜想- 孪生素数猜想: 孪生素数猜想:存在无穷多个素数p, 使得p+2 也是素数。 究竟谁最早明确提出这一猜想我没有考证过,但是一八四九年法国数学Alphonse de Polignac 提出猜想:对于任何偶数2k, 存在无穷多组以2k 为间隔的素数。对于k=1,这就是孪生素数猜想,因此人们有时把Alphonse de Polignac 作为孪生素数猜想的提出者。不同的k 对应的素数对的命名也很有趣,

中国石油大学(华东)C语言在线测评答案 第8章数组(2013级亲测正确)

8.7 求最大值 问题描述要求从键盘输入10个整型数据,找出其中的最大值并显示出来。 输入范例 3 0 54 -710 27 32767 10 1 500 2 输出范例 32767 提示先假定第一个元素时最大值,然后和其他的元素一个一个的进行比较,直到找到最大值。 #include int main() { int a[10],max,i; for(i=0;i<10;i++) scanf("%d",&a[i]); max=a[0]; for(i=0;i<10;i++) if(a[i]>max) max=a[i]; printf("%d\n",max); return 0; } 8.6 数组逆序输出 问题描述 从键盘上输入一个数组(10个元素),将原数组逆序重新排列后输出。要求输出每个元素时以一个空格隔开。 提示:用第一个与最后一个交换。 #include int main() { int a[10],i; for(i=0;i<10;i++) scanf("%d",&a[i]);

for(i=9;i>=0;i--) printf("%d ",a[i]); printf("\n"); return 0; } 8.1 谁能出线 背景:电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。按规定,每10名学生为一个预赛小组,评委打出分数(0~100分),各小组第一名可以进 入下一轮;如果有多名学生得分相同都是第一名,则可同时进入下一轮。 输入:按顺序给出一个小组10个人的最后得分(int)。 输出:能够出线的学生序号(0~9)。 #include int main() { int a[10],i,max; for(i=0;i<10;i++) scanf("%d",&a[i]); max=a[0]; for(i=0;i<10;i++) if(a[i]>max) max=a[i]; for(i=0;i<10;i++) if(a[i]==max) printf("%d\n",i); return 0;

线性筛法求素数的原理与实现

何为线性筛法,顾名思义,就是在线性时间内(也就是O(n))用筛选的方法把素数找出来的一种算法,没用过线性筛素数法的人可能会奇怪,用遍历取余判定素数不是也是线性时间的吗,没错,但是确切的说线性筛法并不是判定素数的,而是在线性时间内求出一个素数表,需要判定是否是素数的时候只要看该数是否在表内就可以瞬间知道是不是素数。 比如想求10000以内的素数,定义表int a[10000],进行线性筛选后,a[n]的值就代表n是不是素数,a[n]如果是1,就代表n是素数,a[n]如果是0,就代表n不是素数,这就是查表。再判定其他的素数也是一样,不用再做任何计算。 而如果用遍历取余,那么每判定一个数都要从头开始再遍历一遍,而线性筛法只在开始一次性运算完,以后只要查表即可,查表通常只需要1条语句。所以如果你的程序从始至终只需要判定那么几次素数那么用遍历取余即可,但是如果需要多次判定素数,而且这个数还不是很小的话,那么线性筛法就会体现出巨大的优越性来。 线性筛法的核心原理就是一句话:每个合数必有一个最大因子(不包括它本身),用这个因子把合数筛掉,还有另一种说法(每个合数必有一个最小素因子,用这个因子筛掉合数,其实都一样,但是我觉得这种方法不太容易说明,这种方法我会在最后给出简略说明)。这个很容易证明:这个小学就知道合数一定有因子,既然是几个数,就一定有最大的一个。最大因子是唯一的,所以合数只会被它自己唯一的因子筛掉一次,把所有合数筛掉后剩下的就全是素数了。 先假设一个数i,一个合数t,i是t最大的因数,t显然可能并不唯一(例如30和45的最大因数都是15)。那么如何通过i知道t呢,t必然等于i乘以一个比i小的素数。先来说这个数为什么一定要比i小,这很显然,如果是i乘上一个比它大的素数,那么i显然不能是t 最大的因子。再来说为什么要是素数,因为如果乘上一个合数,我们知道合数一定可以被分解成几个素数相乘的结果,如果乘上的这个合数x=p1*p2*……,那么 t = i * x = i * p1 * p2……很显然p1* i也是一个因数,而且大于i。所以必须乘上一个素数。 比i小的素数一定有不少,那么该乘哪一个呢,既然t不唯一,那么是不是都乘一遍呢?很显然不行,虽然t不唯一,但全乘一遍很显然筛掉的数的数量远远超过合数的数量。我们先给出结论: 任意一个数i = p1*p2*……*pn,p1、p2、……pn都是素数,p1是其中最小的素数, 设T 为i * M的积(显然T就成了一个合数),也就是T = i * M,(M是素数,并且M<=p1),那么T的最大的因数就是i。 是的,乘上的数要小于等于i最小的质因数。

精炼技术方案(1)

20000吨/年 金属镁合金生产线技术方案 一、项目设计原则 (一)严格执行国家有关法律法规和产业政策要求。做到建设项目的安全设施必须与主体工程同时设计,同时施工,同时投入生产与使用。 (二)在稳定安全可靠的前提下,提倡技术先进,要尽可能采用先进的工艺技术方案,以降低运行成本。 (三)生产设备采用目前国内较先进的国产设备及国外的先进技术相结合。 (四)设计以电能为能源,以节约能源、充分利用资源,做到循环经济、减少污染,达到排放标准。 二、项目工艺技术的选择及其主要内容 (一)工艺技术的选择原则 工艺技术方案确定考虑的主要因素有;该项目生产工艺技术上的安全性,稳定性,先进性、经济上的合理性、节能性,环保性。原料来源、公用工程中的水源及电力供应、环境保护、安全生产、国家有关政策法规。 (二)工艺技术的选择 本设计依据年产20000吨镁精炼生产线的工艺要求,选择采用以2台20吨盐熔炉来熔炼粗镁,以4台合金炉做变质处理炉,以2台3吨电阻加热式保温浇铸炉来调控镁液静置过程中所需温度,保温静置沉淀杂质,然后采用定量连续浇铸,由锭模连续铸机浇铸成合格的镁锭。

1、稳定性 本设计采用在盐熔炉内进行粗镁的精炼,将加热好的盐熔溶剂利用移液泵喷淋至粗镁表面加速粗镁的精炼溶解。 将精炼好的镁液转移到电加热保温浇铸炉内,进行静置;沉淀;浇铸,电加热保温炉设计有两个腔体,以便能够使镁液同时进行静置;沉淀;及不间断的浇铸镁锭成型,具有较高的稳定性和可靠行。 2、安全性 盐溶精炼炉是无坩埚精炼。利用特种耐火材料构筑,溶解精炼过程在特殊的耐火材料制作的无坩埚炉体内进行。具有非常高的安全性能。电加热保温浇铸炉一般都控制700℃--730℃之间,为了安全期间底部均设计有泄漏孔,当坩锅发生泄漏时,镁液能顺泄漏孔排出炉体外,在泄漏坑内预存有灭火熔剂,使泄漏现象得以及时得到处理。 3、节能性 盐溶精炼炉采用先进的装置。利用溶剂熔化后成为电解质做为导热体以及和溶解镁的溶液性能。电加热保温炉采用蓄热加热模块装置及连续自动调功技术,这些装置的应用可以极大的提高加热效率;大幅降低能耗。 4、环保性 本生产线在盐溶炉,保温炉,及铸锭机上均配备有除烟除尘罩,在精炼及浇铸过程中所产生的烟尘及热能通过引风机集中抽送至预热粗镁,通过烟道集中至中和处理设备后排放。排放的烟气可达环保要求。 5、先进性 本生产线的设计中的盐熔精炼炉,电加热保温炉气体保护柜及自动定量浇铸系统中均采用了PLC分体式的自动调节控制装置及现场组态监控系统,

相关文档
最新文档