西北工业大学数电答案
- 格式:pdf
- 大小:6.91 MB
- 文档页数:188
数字电子技术1.数字电路实质上还是模拟电路。
答案:正确2.十进制数的整数部分转换成二进制数是用除2取余法,最先得到的余数是二进制数的最低位。
答案:正确3.在8421BCD码中,用1010表示十进制数的10。
答案:错误4.余三码减0011就得8421BCD码。
答案:正确5.一个逻辑函数只有两种取值可能:0或者1。
答案:正确6.A、B、C均为逻辑变量,如果AB=AC,则可推出B=C。
答案:错误7.若F=AB+C,F的对偶式为FD=A+BC。
8.异或门可以有三个输入端。
答案:错误9.对于三个变量来说,使最小项m3取值为零的可能有7种。
答案:正确10.对于三个变量来说,M2的对偶式为m5。
答案:正确11.对于三个变量来说,M2的反演式为m2。
答案:正确12.全加运算是不考虑低位进位的加法运算。
答案:错误13.组合逻辑电路是指电路在任何时刻建立的稳定的输出仅仅取决于电路在该时刻输入的取值组合。
答案:正确14.时序逻辑电路是由组合逻辑电路和存储电路构成的。
15.对于SR触发器,当SR=01时,触发器置1;当SR=10时,触发器置0。
答案:错误16.正边沿触发器只在时钟脉冲的上升沿采样输入控制信号并依据采样值进行状态转换。
答案:正确17.只读存储器是易失性器件。
答案:错误18.十进制数27.5对应的二进制数是()。
A.11010.1B.11011.1C.10011.01D.11001.01答案:B19.二进制数11001.1对应的八进制数是()。
A.62.1B.62.4C.31.4答案:C20.异或门输出通过一个灯泡接地,两个输入端一端接标准信号,另一端接待检测信号。
如果灯泡亮,说明()。
A.标准信号与接待检测信号相同B.标准信号与接待检测信号不同C.异或门损坏D.异或门输入恒为高电平答案:B21.四个变量的卡诺图中,逻辑上不相邻的一组最小项为()。
A.B.C.D.答案:A22.{A.0,2,4,5,6,7,13B.0,1,2,5,6,7,13C.0,2,4,5,6,9,13D.2,4,5,6,7,11,13 答案:A23.{A.0,2,3,5,6B.4,6,7C.4,5,6D.0,1,2,3,5答案:D24.{A. B. C. D.答案:C 25.{A. B. C. D.26.设计10进制计数器,至少需要()级触发器。
大学数字电子技术试题答案一、选择题1. 数字电路中,逻辑变量“1”通常代表什么含义?A. 低电平B. 高电平C. 地线D. 电源线答案:B. 高电平2. 在二进制数系统中,最小的非零数是几?A. 0B. 1C. 2D. 4答案:B. 13. 触发器的主要用途是什么?A. 计数B. 存储C. 放大D. 滤波答案:B. 存储4. 以下哪种逻辑门可以实现两个输入的异或功能?A. 与门(AND)B. 或门(OR)C. 非门(NOT)D. 异或门(XOR)答案:D. 异或门(XOR)5. 在数字电路中,一个4位二进制计数器的最大计数值是多少?A. 8B. 16C. 32D. 64答案:C. 32二、填空题1. 在数字电子技术中,__________是一种能够存储一位二进制信息的基本单元电路。
答案:触发器2. 二进制数1011转换为十进制数是__________。
答案:113. 逻辑门电路中的“与非”门是将输入的逻辑与结果再取__________。
答案:非4. 在数字电路设计中,__________是一种常用的简化和优化逻辑表达式的方法。
答案:卡诺图5. 一个3线到8线译码器的输出是__________。
答案:8三、简答题1. 请简述数字电路与模拟电路的区别。
答:数字电路处理的是离散的信号,通常只有高电平或低电平两种状态,而模拟电路处理的是连续变化的信号。
数字电路具有更强的抗干扰能力,易于实现大规模集成,而模拟电路则在处理连续信号如声音和光线等方面更为有效。
2. 什么是组合逻辑和时序逻辑?请举例说明。
答:组合逻辑是指其输出仅取决于当前输入状态的逻辑电路,不包含存储元件,如加法器和编码器。
时序逻辑则包含存储元件(如触发器),其输出不仅取决于当前的输入状态,还与历史状态有关,如计数器和寄存器。
3. 什么是同步计数器和异步计数器?答:同步计数器是指所有的触发器都在同一个时钟脉冲下进行状态转换的计数器,而异步计数器中,触发器的状态转换不是同时发生的,它们之间存在一定的时序差异。
示波器的使用和TTL 逻辑电路设计一、 实验目的1. 加深了解TTL 逻辑门电路的结构和参数;2. 认识和掌握基本的TTL 逻辑门电路的连接方式;3. 熟悉数字型示波器的基本使用方法 二、 实验设备数字电路实验箱、数字双踪示波器、74LS20、电位器、电阻 三、 实验原理1. TTL 实现与运算AB AB F ==1该逻辑函数的逻辑电路如图a 所示:图a2. TTL 实现或运算B A B A B A F =+=+=2该逻辑函数的逻辑电路如图b 所示:(悬空)1F图b3. TTL 实现异或运算ABB AB A AB B AB A AB B AB A B A B A F 3=+=+=+=该逻辑函数的逻辑电路如图c 所示:图c四、 实验内容1. TTL 实现与运算2FAB3F A把输入信号A和B分别从引脚1和2输入,从3输出信号AB,再利用(2)中的方法,将引脚3输出的信号从引脚4输入,引脚5悬空(相当于输入高电平),从引脚6输出信号就实现了与门;2.TTL实现或运算先采用1中的方法实现A和B,分别从引脚1和4输入信号A和B,引脚2和5悬空(相当于输入高电平),引脚3和6就分别输出了信号A和B。
再将引脚3和6输出的信号分别输入到引脚9和10,由引脚8输出信号就实现了或门;3.TTL实现异或运算把输入信号A和B分别从引脚1和2输入,从3输出信号AB,再从引脚4和9分别输入信号A和B,由引脚3输出的信号AB分别从引脚5和10输入,这样引脚6和8分别输出信号A AB⋅,最后分别将⋅和B AB⊕;这两个信号从引脚12和13输入,则从引脚14输出的信号就是A B五、实验结果1.TTL实现与运算2.TTL实现或运算3.TTL实现异或运算六、故障排除1.确保74LS00和电路板接触良好,能够很好的传递电路信号;2.电路连接接口连接紧密,电位器能很好的实现电路的开闭。
七、心得体会加深了解TTL逻辑门电路的结构,认识和掌握基本的TTL逻辑门电路的连接方式,为今后的数字电路学习和实践打下坚实的基础。
《数字信号处理》习题答案(第2版)主编俞卞章授课人付中华此文档为《数字信号处理》(第2版主编俞卞章西北工业大学出版社)习题答案,本文档旨在指导学生在学习数字信号处理书本理论知识的同时,对相应的课后习题进行练习,做到融汇贯通,希望每位学生都能学好此门功课。
若发现有错误之处,请发邮件至wingerzhao@指出,我们会及时改正。
目录第1章离散时间信号、系统和Z变换 (3)1-4(P46) (3)1-5(p47) (5)1-7(p47) (5)1-8(p47) (6)1-9(P47) (7)1-10(P47) (8)1-11(P47) (9)1-12(P48) (10)1-17(P48) (10)1-19(P48) (12)1-22(P49) (13)1-28(P50) (15)1-30(P51) (17)1-31(P51) (18)1-32(P51) (20)1-33(P52) (21)1-37(P52) (22)1-39(P52) (22)1-41(P53) (23)1-43(P53) (24)第2章DFT及快速算法 (25)2-2(P90) (25)2-4(P90) (25)2-5(p90) (26)2-6(P90) (26)2-7(P91) (27)2-11(P91) (28)2-13(P91) (29)2-14(P91) (29)2-17(P92) (30)2-22(P93) (31)2-25(P94) (31)第3章数字滤波器设计 (33)3-4(P138) (33)3-7(P138) (34)第4章离散随机信号处理 (35)4-3(P173) (35)4-5(P173) (36)第5章自适应信号处理 (36)5-3(P198) (36)5-4(P198) (37)5-9(P198) (37)第1章离散时间信号、系统和Z变换1-4(P46)1-7(p47)1-9(P47)1-10(P47)1-17(P48)1-19(P48)1-22(P49)1-28(P50)1-30(P51)1-31(P51)1-32(P51)1-39(P52)第2章DFT及快速算法2-2(P90)2-4(P90)2-6(P90)2-14(P91)2-22(P93)2-25(P94)第3章数字滤波器设计3-4(P138)3-7(P138)第4章离散随机信号处理4-3(P173)5-3(P198)5-9(P198)附录1《数字信号处理常见题型解析及模拟题》(第2版)俞卞章编著西北工业大学出版社(TN911.72-44 0309=3)2 《数字信号处理常见题型解析及模拟题》谢红梅赵健编著西北工业大学出版社(TN911.72-44 0110)。
数字集成电路实验报告西北工业大学2014年5月12日星期一实验二、反相器(下)三、分析如下电路,解答下面的问题。
上面的电路用两种方式实现了反相器。
左图只使用了NMOS,右图则使用了CMOS(NMOS 和PMOS)。
试完成:ΦF=‐0.3V1.仿真得到两个电路的VTC 图形黄色的线条表示的是第一个反相器的电压传输特性曲线,红色的线条表示的是第二个电压传输特性曲线。
2.计算两种电路的VOH,VOL及VM。
可参考波形确定管子的工作状态。
答:对于第一个电路构成的反相器而言当vin = 0的时候,M1截止,M2导通,输出电压vout = 2.5-0.43 = 2.07V 即 V V OH 07.2=当vin = 2.5V 的时候,M1、M2均导通,且M1处于线性区,M2处于饱和区(速度饱和),通过两个 管子的电流相等,所以有]2/)[()(]2/)[()(2111'222'DS DS TH GS M DSTA DSTA TH DD M DSAT V V V V L W K I V V V V L W K I -⨯-⨯⨯=-⨯-⨯⨯=由于存在体效应M2的阈值电压变为)22(0F SB F T T V V V φφγ-+-+= 其中out SB V V =解得=OL V 0.287V接着计算开关阈值M V ,此时,输入等于输出,判定M1与M2都处于饱和区。
]2/)[()(]2/)[()(2111'12222'2DSSAT DSAT TH GS M n D DSAT DSAT TH GS M n DSATM V V V V LW K I V V V V LW K I -⨯-⨯⨯=-⨯-⨯⨯= 而且OUT IN SB M V V V V ===求得V 995.0=M V而对于CMOS 反相器来说当vin = 0的时候,V V OH 5.2=当vin = 2.5V 的时候,0=OL V接着计算开关阈值M V ,此时,输入等于输出,判定M3与M4都处于饱和区。
西北工业大学POJ答案绝对是史上最全版(不止100题哦……按首字母排序)1.“1“的传奇2.A+B3.A+BⅡ4.AB5.ACKERMAN6.Arithmetic Progressions7.Bee8.Checksum algorithm9.Coin Test10.Dexter need help11.Double12.Easy problem13.Favorite number14.Graveyard15.Hailstone16.Hanoi Ⅱ17.Houseboat18.Music Composer19.Redistribute wealth20.Road trip21.Scoring22.Specialized Numbers23.Sticks24.Sum of Consecutive25.Symmetric Sort26.The Clock27.The Ratio of gainers to losers28.VOL大学乒乓球比赛29.毕业设计论文打印30.边沿与内芯的差31.不会吧,又是A+B32.不屈的小蜗33.操场训练34.插入链表节点35.插入排序36.插入字符37.成绩表计算38.成绩转换39.出租车费40.除法41.创建与遍历职工链表42.大数乘法43.大数除法44.大数加法45.单词频次46.迭代求根47.多项式的猜想48.二分查找49.二分求根50.发工资的日子51.方差52.分离单词53.分数拆分54.分数化小数55.分数加减法56.复数57.高低交换58.公园喷水器59.韩信点兵60.行程编码压缩算法61.合并字符串62.猴子分桃63.火车站64.获取指定二进制位65.积分计算66.级数和67.计算A+B68.计算PI69.计算π70.计算成绩71.计算完全数72.检测位图长宽73.检查图像文件格式74.奖金发放75.阶乘合计76.解不等式77.精确幂乘78.恐怖水母79.快速排序80.粒子裂变81.链表动态增长或缩短82.链表节点删除83.两个整数之间所有的素数84.路痴85.冒泡排序86.你会存钱吗87.逆序整数88.排列89.排列分析90.平均值函数91.奇特的分数数列92.求建筑高度93.区间内素数94.三点顺序95.山迪的麻烦96.删除字符97.是该年的第几天98.是该年的第几天?99.数据加密100.搜索字符101.所有素数102.探索合数世纪103.特殊要求的字符串104.特殊整数105.完全数106.王的对抗107.危险的组合108.文件比较109.文章统计110.五猴分桃111.小型数据库112.幸运儿113.幸运数字”7“114.选择排序115.寻找规律116.循环移位117.延伸的卡片118.羊羊聚会119.一维数组”赋值“120.一维数组”加法“121.勇闯天涯122.右上角123.右下角124.圆及圆球等的相关计算125.圆及圆球等相关计算126.程序员添加行号127.找出数字128.找幸运数129.找最大数130.整数位数131.重组字符串132.子序列的和133.子字符串替换134.自然数立方的乐趣135.字符串比较136.字符串复制137.字符串加密编码138.字符串逆序139.字符串排序140.字符串替换141.字符串左中右142.组合数143.最次方数144.最大乘积145.最大整数146.最小整数147.最长回文子串148.左上角149.左下角1.“1“的传奇#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int n,i,j,k=0,x=1,y,z,m,p,q,a,s=0;scanf("%d",&n);m=n;for(i=1;i<12;i++){m=m/10;k++;if(m==0)break;}q=n;k=k-1;for(a=1;a<=k;a++){x=x*10;}y=q%x;z=q/x;p=q-y;if(z>=2)s=s+x+z*k*(x/10); elses=s+z*k*(x/10);for(j=p;j<=n;j++) {m=j;for(i=1;i<12;i++){x=m%10;if(x==1)s++;m=m/10;if(m==0)break;}}printf("%d",s);return 0;}2.A+B#include <stdio.h>int doubi(int n,int m){n=n+m;n=n%100;return n;}int main(){int t,i,a[100],n,m;scanf("%d",&t);for (i=0;i<=(t-1);i++){scanf("%d%d",&n,&m);a[i]=doubi(n,m);}for (i=0;i<=(t-1);i++)printf("%d\n",a[i]);return 0;}3.A+BⅡ#include <stdio.h>int main(){int A,B,sum;scanf("%d%d",&A,&B);sum=A+B;printf("%d\n",sum);return 0;}4.AB#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100],q[100];double a,b,c;int n=0,i;scanf("%lf%lf",&a,&b);c=a*b;sprintf(s,"%.0lf",c);for(i=0;i<strlen(s);i++){n=n+s[i]-48;}while(n>=10){sprintf(q,"%d",n);n=0;for(i=0;i<strlen(q);i++)n=n+q[i]-48;}printf("%d",n);return 0;}5.ACKERMAN#include <stdio.h>#include <stdlib.h>int ack(int x,int y){int n;if (x==0) {n=y+1;return n;}else if (y==0) n=ack(x-1,1);else n=ack(x-1,ack(x,y-1));return n;}int main(){int m,b;scanf("%d%d",&m,&b);m=ack(m,b);printf("%d",m);return 0;}6.Arithmetic Progressions#include <stdio.h>#include <math.h>int g(int n){int i;if(n==1) return 0;if(n==2) return 1;if(n==3) return 1;for(i=2;i<=sqrt(n);i++) if(n%i==0) return 0;return 1;}int f(int a,int b,int c){int i=0,s=a-b;if(c==1&&g(a)==1) return a;if(b==0&&g(a)!=1) return -1;while(1){s=s+b;if(g(s)) i++;if(i>=c) break;}return s;int main(){int a,b,c,d[100],i=0,n;while(1){scanf("%d%d%d",&a,&b,&c);if(a==0&&b==0&&c==0) break;d[i]=f(a,b,c);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",d[i]);return 0;}7.Bee#include <stdio.h>#include <stdlib.h>int main()int A[100],i=0,j,k,female=0,male=1,x;for(;;i++){scanf("%d",&A[i]);if(A[i]==-1)break;}for(j=0;j<i;j++){female=0,male=1;for(k=1;k<A[j];k++){x=female;female=male;male=x+male+1;}printf("%d %d\n",male,female+male+1);}return 0;}8.Checksum algorithm #include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,n,t,j;char s[100][100];for(i=0;;i++){gets(s[i]);if(s[i][0]=='#') break;}n=i;for(i=0;i<n;i++){t=0;for(j=0;j<strlen(s[i]);j++)if(s[i][j]==32) t=t;else t=t+(j+1)*(s[i][j]-64);printf("%d\n",t);}return 0;}9.Coin Test#include <stdio.h>#include <stdlib.h>int main(){char A[100000];int n,i=0,a=0,b=0,j;double x;while(1){scanf("%c",&A[i]);if(A[i]=='\n')break;i++;}for(j=0;j<i;j++){if(A[j]=='S'){printf("WA");goto OH;}if(A[j]=='U')a++;if(A[j]=='D')b++;}x=a*1.0/(a+b)*1.0;if(x-0.5>0.003||x-0.5<-0.003) printf("Fail");elseprintf("%d/%d",a,a+b);OH:return 0;}10.Dexter need help#include <stdio.h>int fun(int a){if(a==1) return 1;elsereturn fun(a/2)+1;}int main(){int a,b[100],i=0,j; while(1){scanf("%d",&a);if(a==0)break;b[i]=fun(a);i++;}for(j=0;j<i;j++){printf("%d\n",b[j]); }return 0;}11.Double#include <stdio.h>#include <stdlib.h>int main(){int a[100],b[100],i,j,n,t=0;for(i=0;;i++){scanf("%d",&a[i]);if(a[i]==0) break;}n=i;for(i=0;i<n;i++)b[i]=2*a[i];for(i=0;i<n;i++)for(j=0;j<n;j++)if(a[i]==b[j]) t++;printf("%d",t);return 0;}12.Easy problem#include <stdio.h>#include <math.h>int main(){int N,i,n,j=0;scanf("%d",&N);for(i=2;i<N+1;i++){if((N+1)%i==0)j++;}printf("%d",j/2);return 0;}13.Favorite number #include <stdio.h>#include <string.h>#define MAXNUM 100000int prime_number = 0;int prime_list[MAXNUM]; bool is_prime[MAXNUM]; int ans[MAXNUM + 2];int dp[MAXNUM + 2];void set_prime() {int i, j;memset(is_prime, 0, sizeof(is_prime));for (i = 2; i < MAXNUM; i++) {if (is_prime[i] == 0) {prime_list[prime_number++] = i;if (i >= MAXNUM / i) continue;for (j = i * i; j < MAXNUM; j+=i) {is_prime[j] = 1;}}}}int main() {int i, j, k,o=0,d[100];memset(dp, -1, sizeof(dp));set_prime();ans[0] = 0;dp[1] = 0;for (i = 1; i <= MAXNUM; i++) {ans[i] = ans[i - 1] + dp[i];if (dp[i + 1] == -1 || dp[i + 1] > dp[i] + 1) { dp[i + 1] = dp[i] + 1;}for (j = 0; j < prime_number; j++) {if (i > MAXNUM / prime_list[j]) break;k = i * prime_list[j];if (dp[k] == -1 || dp[k] > dp[i] + 1) {dp[k] = dp[i] + 1;}}}while (scanf("%d%d", &i, &j) == 2 && (i || j)) { d[o]=ans[j] - ans[i - 1];o++;}for(i=0;i<o;i++)printf("%d\n",d[i]);}14.Graveyard#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[100],b[100],n,i,j;double s,p,l,t;for(i=0;;i++){scanf("%d%d",&a[i],&b[i]);if(a[i]==0&&b[i]==0) break;}n=i;for(i=0;i<n;i++){p=10000;if(b[i]%a[i]==0){printf("0.0000\n");continue;};t=10000/((double)a[i]);for(j=1;j<a[i]+b[i];j++){l=10000/((double)(a[i]+b[i]));l=t-j*l;l=fabs(l);if(l<p) p=l;}s=(a[i]-1)*p;printf("%.4lf\n",s);}return 0;}15.Hailstone#include <stdio.h>#include <stdlib.h>#include <string.h>int f(int n){int s=1;while(1){if(n==1) return s;else if(n%2==0) n=n/2,s++;else n=3*n+1,s++;}}int main()int n,m,i,j=0,t;scanf("%d%d",&m,&n);printf("%d %d",m,n);if(m>n) t=m,m=n,n=t;for(i=m;i<=n;i++)if(f(i)>j) j=f(i);printf(" %d",j);return 0;}16.Hanoi Ⅱ#include <stdio.h>#include <stdlib.h>#define M 70int start[M], targe[M];long long f(int *p, int k, int fina){if(k==0) return 0;if(p[k]==fina) return f(p,k-1,fina); return f(p,k-1,6-fina-p[k])+(1LL<<(k-1));int main (){long long ans;int n;while(scanf("%d",&n),n){int i;for(i=1;i<=n;i++) scanf("%d",&start[i]);for(i=1;i<=n;i++) scanf("%d",&targe[i]);int c=n;for(;c>=1&&start[c]==targe[c];c--);if(c==0){printf("0\n"); continue;}int other=6-start[c]-targe[c];ans=f(start,c-1,other)+f(targe,c-1,other)+1;printf("%lld\n",ans);}return 0;}17.Houseboat#include <stdio.h>#include <stdlib.h>#include <math.h>#define pi 3.1415926int f(float x,float y){int i;for(i=0;;i++)if(50*i>sqrt(x*x+y*y)*sqrt(x*x+y*y)*pi/2) break;return i;}int main(){int n,i,a[100];float x,y;scanf("%d",&n);for(i=0;i<n;i++){scanf("%f%f",&x,&y);a[i]=f(x,y);}for(i=0;i<n;i++)printf("%d %d\n",i+1,a[i]);return 0;}18.Music Composer19.Redistribute wealth#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int a[1000],b[1000],n,i,j,s,sum,t,m,mid,c[100],k=0;while(1){scanf("%d",&n);if(n==0) break;{s=0;for(i=1;i<=n;i++){scanf("%d",&a[i]);s=s+a[i];}m=s/n;b[1]=a[1]-m;b[0]=0;for(i=2;i<n;++i)b[i]=b[i-1]+a[i]-m;for(i=0;i<n;i++)for(j=0;j<n-1-i;j++)if(b[j]>b[j+1])t=b[j],b[j]=b[j+1],b[j+1]=t;mid=b[n/2];sum=0;for(i=0;i<=n-1;++i) sum=sum+fabs(mid-b[i]);c[k]=sum;k++;}}for(i=0;i<k;i++) printf("%d\n",c[i]);return 0;}20.Road trip#include <stdio.h>#include <stdlib.h>#include <math.h>int f(int n){int a[100],b[100],i,s;for(i=0;i<n;i++)scanf("%d%d",&a[i],&b[i]);s=a[0]*b[0];for(i=1;i<n;i++)s=s+a[i]*(b[i]-b[i-1]);return s;}int main(){int n,c[100],i=0;while(1){scanf("%d",&n);if(n==-1) break;c[i]=f(n);i++;}n=i;for(i=0;i<n;i++)printf("%d\n",c[i]);return 0;}21.Scoring#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int i,j,sum,min,c,count,n,a,b;char s1[50],s2[50];scanf("%d",&n);for(i=0;i<n;i++){count=sum=0;scanf("%s",s2);for(j=0;j<4;j++){scanf("%d%d",&a,&b);if(b!=0){sum+=(a-1)*20+b;count++;}}if(i==0){c=count,min=sum;strcpy(s1,s2);}else if(count>c||(count==c&&sum<min)){min=sum;c=count;strcpy(s1,s2);}}printf("%s %d %d\n",s1,c,min);return 0;}22.Specialized Numbers#include <stdio.h>#include <stdlib.h>int main(){int i,n,sum10,sum12,sum16;for(i=2992;i<3000;i++){n=i;sum10=0;while(n){sum10+=n%10;n/=10;}n=i;sum12=0;while(n){sum12+=n%12;n/=12;}n=i;sum16=0;while(n){sum16+=n%16;n/=16;}if(sum10==sum12&&sum12==sum16) printf("%d\n",i);}return 0;}23.Sticks#include <stdio.h>#include <string.h>#include <stdlib.h>int len[64], n, minlen, get;bool b[64];int cmp(const void *a, const void *b){return *(int *)a < *(int *)b ? 1 : -1;}bool dfs(int nowlen, int nowget, int cnt){if(cnt >= n) return false;if(get == nowget) return true;int i;bool f = false;if(nowlen == 0) f = true;for(i = cnt; i < n; i++){if(!b[i]){if(len[i] + nowlen == minlen){b[i] = true;if(dfs(0, nowget+1, nowget))return true;b[i] = false;return false;}else if(len[i] + nowlen < minlen){b[i] = true;if(dfs(nowlen+len[i], nowget, i+1))return true;b[i] = false;if(f) return false;while(i + 1 < n && len[i] == len[i+1]) i++;}}}return false;}int main(){int i, tollen;while(scanf("%d", &n), n){tollen = 0;int j = 0, p;for(i = 0; i < n; i++){scanf("%d", &p);if(p <= 50){len[j] = p;tollen += len[j];j++;}}n = j;if(n == 0){printf("0\n");continue;}qsort(len, n, sizeof(int), cmp);for(minlen = len[0]; ; minlen++) {if(tollen % minlen) continue;memset(b, 0, sizeof(b));get = tollen / minlen;if(dfs(0, 0, 0)){printf("%d\n", minlen);break;}}}return 0;}24.Sum of Consecutive#include <stdio.h>#include <stdlib.h>#include <string.h>int len[64],n,minlen,get;int b[64];int cmp(const void *a,const void *b) {return *(int *)a<*(int *)b?1:-1;}int dfs(int nowlen,int nowget,int cnt) {if(cnt>=n) return 0;if(get==nowget) return 1;int i,f=0;if(nowlen==0) f=1;for(i=cnt;i<n;i++){if(len[i]+nowlen==minlen){b[i]=1;if(dfs(0,nowget+1,nowget)) return 1;b[i]=0;return 0;}else if(len[i]+nowlen<minlen){b[i]=1;if(dfs(nowlen+len[i],nowget,i+1)) return 1;b[i]=0;if(f) return 0;while(i+1<n&&len[i]==len[i+1]) i++;}}return 0;}int main(){int i,tollen,q=0,c[100];while(scanf("%d",&n),n){tollen=0;int j=0,p;for(i=0;i<n;i++){scanf("%d",&p);if(p<=50){len[j]=p;tollen+=len[j];j++;}}n=j;if(n==0){printf("0\n");continue;}qsort(len,n,sizeof(int),cmp);for(minlen=len[0];;minlen++){if(tollen%minlen) continue;memset(b,0,sizeof(b));get=tollen/minlen;if(dfs(0,0,0)){c[q]=minlen;q++;break;}}}for(i=0;i<q;i++)printf("%d\n",c[i]);return 0;}25.Symmetric Sort#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){double A[100];int i=0,j=0,k=0,l=0,sum=0;while(1){scanf("%lf",&A[i]);if(A[i]==0)break;i++;}for(j=0;j<i;j++){if(A[j]==2)printf("1\n");else{int B[10000],m=1,number=0;double n;B[0]=2;for(k=3;k<=A[j];k+=2){n=(double)k;for(l=2;l<=sqrt(n);l++){if(k%l==0)goto ai;}B[m]=k;m++;ai:;}for(k=0;k<m;k++){sum=0;for(l=k;l<m;l++){sum+=B[l];if(sum==A[j]){number++;break;}}}printf("%d\n",number);}}return 0;}26.The Clock#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char s[100][100],a[100];int i,j,n;scanf("%d",&n);for(i=0;i<n;i++) scanf("%s",s[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(strlen(s[i])>strlen(s[i+1])) strcpy(a,s[i]),strcpy(s[i],s[i+1]),strcpy(s[i+1],a);if(n%2==0){for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-3;i>0;i=i-2) printf("%s ",s[i]);}else{for(i=0;i<n-1;i=i+2) printf("%s ",s[i]);printf("%s ",s[n-1]);for(i=i-1;i>0;i=i-2) printf("%s ",s[i]);}return 0;}27.The Ratio of gainers to losers #include<stdio.h>int main(){char s[5];int i,sum=0;gets(s);for(i=0;s[i]!='\0';i++){switch(s[i]){case'I': sum+=1;break; case'V': sum=5-sum;break; case'X':sum=10-sum;break; }}printf("%d\n",sum);return 0;}28.VOL大学乒乓球比赛#include <stdio.h>#include <stdlib.h>int main(){printf("A=Z\nB=X\nC=Y\n");return 0;}29.毕业设计论文打印#include <stdio.h>#include <stdlib.h>int main(){int a[100],j=1,i,n,m;scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++)if(a[i]>a[m]) j++;printf("%d",j++);return 0;}30.边沿与内芯的差#include <stdio.h>#include <stdlib.h>int main(){int A[100][100],i,j,m,n,s=0,t=0;scanf("%d%d",&n,&m);for(i=1;i<=n;i++){for(j=1;j<=m;j++){scanf("%d",&A[i][j]);}}for(i=2;i<m;i++)s=s+A[1][i];for(i=2;i<m;i++)。