西工大noj复习资料完整版
西工大高数总复习——第11章总复习1

e ix = cos x + i sin x ,
e it − e − it sin t = , 2i e it + e − it cos t = , 2
8、傅里叶级数
(1) 三角函数系 三角函数系
1, cos x , sin x , cos 2 x , sin 2 x ,Lcos nx , sin nx ,L
∫ sin mx cos nxdx = 0
(2) 傅里叶级数 定义
π −π
(其中m , n = 1,2,L)
a0 ∞ + ∑ (a n cos nx + bn sin nx ) 三角级数 2 n =1
a0 ∞ + ∑ (a n cos nx + bn sin nx ) 2 n =1
称为傅里叶级数.
n =1 n =1 n =1
∞
∞
∞
5、函数项级数
(1) 定义
设 u1 ( x ), u2 ( x ),L , un ( x ),L 是 定 义在 I ⊆ R 上 的函数,则
∞
∑ =u ( x ) + u ( x ) + L + u ( x ) + L
n =1 1 2 n
称为定义在区间 I 上的(函数项)无穷级数.
∞
如果函数 f ( x ) 在 U δ ( x0 ) 内能展开成 ( x − x
的幂级数, 即 f ( x ) =
1 (n) f ( x0 ) 则其系数 a n = n!
且展开式是唯一的.
( n = 0,1,2,L)
(3) 展开方法 a.直接法(泰勒级数法)
f ( n ) ( x0 ) 步骤: (1) 求a n = ; n! (n) ( 2) 讨论 lim Rn = 0 或 f ( x ) ≤ M ,
西工大飞行控制系统总复习

总复习第一章 飞行动力学一、概念:1、体轴系纵轴ox 在飞机对称平面内;速度轴系纵轴a ox 不一定在飞机对称平面内;稳定轴系纵轴ox 在飞机对称平面内,与体轴系纵轴ox 相差一个配平迎角0α。
2、俯仰角θ的测量轴为地轴系横轴g oy ;滚转角φ(倾斜角)的测量轴为体轴系纵轴ox ;偏航角ψ的测量轴为地轴系铅锤轴g oz 。
3、迎角α:空速向量v 在飞机对称平面内投影与机体纵轴ox 夹角。
以v 的投影在ox 轴之下为正。
4、β(侧滑角):空速向量v 与飞机对称平面的夹角。
以v 处于对称面右为正。
5、坐标系间的关系机体轴系b S 与地轴系g S 之间的关系描述为飞机姿态角(ψφθ、、); 速度轴系a S 与机体轴系b S 之间的关系描述为气流角(βα、);速度轴系a S 与地轴系g S 之间的关系描述为航迹角(χμγ、、)。
6、舵偏角符号升降舵偏角e δ:平尾后缘下偏为正0>e δ,产生低头力矩。
0<M 副翼偏转角a δ:右翼后缘下偏(右下左上)为正0>a δ,产生左滚转力矩0<N 。
方向舵偏角r δ:方向舵后缘左偏为正0>r δ,产生左偏航力矩0<L 。
7、稳定性、操纵性与机动性动稳定性:扰动停止后,飞机能从扰动运动恢复到基准运动。
静稳定性:扰动停止的最初瞬间,运动参数变化的趋势。
操纵性:飞机以相应的运动,回答驾驶员操纵各操纵机构的能力。
机动性:指在一定时间内,飞机改变速度大小,方向和在空间位置的能力。
稳定性与操纵性及机动性矛盾。
过稳则不易操纵,机动性差。
8、在建立飞机方程时考虑牵连运动的原因是:牛顿定律是相对惯性坐标系的,机体坐标系为动坐标系。
9、ip jq kr θφψΩ=++=++ 表示:飞机三个姿态角变化率或绕机体轴的三个角速度分量都能合成飞机总角速度分量Ω。
p 、q 、r 一定正交,但φθψ,,三者不一定正交。
10、纵向短周期运动对应大复根,周期短,频率高,衰减快的运动。
西工大燃烧学各章总结+重点问答题

前沿:燃烧强烈放热和发光的快速氧化反应过程。
按化学反应传播分类:强烈热分解、缓燃、爆震。
燃烧现象是流动、传热、传质和化学反应同时发生又相互作用的复杂的物理化学现象。
第一章:燃烧热力学化学恰当反应:所有参加化学反应的反应物都按化学反应方程规定的比例完全燃烧的反应。
特点:反应物完全消耗,燃烧强度最高。
空气-燃料化学恰当比(空—燃比):化学恰当反应时消耗的空气—燃料质量比。
当量比:实际燃油量所需的理论空气量与实际空气量之比或实际燃油量与理论燃油量之比。
余气系数:实际空气量所需的理论燃油量与实际燃油量之比或实际空气量与理论空气量之比。
热效应:温度不变,对外界只做容积功,所交换的热量。
反应热:化学反应过程中系统与外界交换的热量,统称为反应热。
反应焓:等温、等压条件下,反应物形成生成物时吸收或放出的热量(热效应)热效应:能够表征物质的属性而且是在特定条件下进行的化学反应的反应热,则称为热效应。
绝对焓:某一参考温度下该组分的生成焓和从某一参考温度开始的显焓变化之和。
标准反应热: 标准状态下的反应热。
燃烧焓:当1 mol的燃料与化学当量的空气混合物以一定的标准参考状态(比如1atm,25℃)进入稳定流动的反应器,且生成物(假定为CO2,H2O,N2)也以同样的标准参考状态离开该反应器,此反应释放出来的热量。
燃料的发热量:指单位质量或单位体积(对气体燃料而言)的燃料(在标准状态下)与空气完全燃烧时所能释放出的最大热量。
是衡量燃料作为能源的一个很重要的指标。
燃料热值:1kg燃料在标准状态下与空气完全燃烧所放出的热值。
高热值HHV(凝聚相),低热值LHV(汽态)。
绝热燃烧(火焰)温度(Tad):当燃料和空气的初始状态,即燃料/空气比及温度一定时,绝热过程燃烧产物所能达到的温度。
分类:等容燃烧和等压燃烧。
热离解:燃烧产物的分子在高温下吸收热量而裂变为简单分子或原子的现象。
标准生成吉布斯自由能:在标准状态(压力)下,由稳定单质(包括纯的理想气体,纯的固体或液体)生成1mol化合物时吉布斯自由能的变化值,称为该化合物的标准生成吉布斯自由能。
西工大工业工程生产运作与管理期末考试总复习 考试必备

1生产流程类型:流程型生产、离散型生产2生产方式:备货生产(mts)(指在没有接到用户订单时,按已有的标准产品或产品系列进行生产,目的是补充库存,通过维持一定量的库存来满足用户需要)1交货期不重要,成品库存随时供货,2采用专用高效设备,生产率高3对产品需求可以预测4采用专业化人员。
5库存量大较大,库存所占用的资金较多,6组织生产较为风险,可能造成积压或者脱销。
订货生产(mto)(按用户订单组织生产,依据合同或协议对产品数量、交货期、质量、性能等要求组织生产)1交货期很重要,订货时确定2多采用通用设备3对产品需求难以预测4采用多种操作技能的人员3大批量:设计方面:重复生产,设计工作量小、设计质量高;工艺方面:产品结构相对稳定,标准制造工艺,工艺准备周期短,精确制定材料消耗定额,原材料消耗低;生产组织方面:精确分工,工人操作简化,标准操作方法;生产管理方面:工时定额准确,质量易保证,计划调度工作简单,生产进度易掌握。
单件小批:设计方面:设计工作量大、设计周期较长、设计质量底;工艺方面:工艺工作量大、周期长,材料定额不准确;生产组织方面:粗略分工,工人要求水平高,设备专业化程度底;生产管理方面:工时定额较粗,质量不易保证,计划调度工作复杂。
4、生产管理的最终目标是提高企业的经济效益。
绩效评价指标:质量、交货期、成本。
5生产计划作为生产管理系统中的首要环节,其目的是为未来某段时间(计划期)事先规定生产活动的目标和任务,以指导企业的生产工作按经营目标的要求进行。
按层次分:战略计划、经营计划、作业计划。
按时间分:长期计划、中期计划(包括MPS和RCCP)、短期计划。
主要参数:时间和数量。
生产控制的目的是对生产计划的具体执行情况进行跟踪、检查和调整。
基本内容:确定工艺流程:起点和基础;安排生产进度计划:前提;下达生产指令:手段;生产进度控制:关键。
解决如何保证按计划完成任务的问题。
主要功能:进度管理、余力管理、实物管理。
西北工大机械设计期末总复习共83页

用普通螺栓连接
F
FP
F
FP f
i 2
FP
i 1
连接的不滑移条件:FPfZiKSF
FP
K S F f Zi
2、受转矩的螺栓组连接
a.用普通螺栓连接
T
ri
FP
K ST
z
FP f
f ri
i 1
FP f
z
连接的不转动条件: FP fri KST
i1
b.采用铰制孔螺栓连接 z
Lmin
d0
剪切强度
F
d02 /
4
挤压强度
p
F d0Lmin
p
注意:[τ]-螺栓材料; [σp]-螺栓或孔壁较弱的材料
例3:一横板用两个普通螺栓联在立柱上,已 知P=4000N,L=200mm,b=100mm, f =0.15,
KS 1.2 , 30M 0 P , 试解a求: 螺1、栓将小外径力dP1.向螺
····· rNr
r0
t
NC N N0 ND
N r1
t
r
rmNNC rmN0
rN ·
r
rN
r
m
N0 N
N N0 ND N N
当NCNNDlimrN
rm
N0 N
有限寿命 疲劳极限
无限寿命
当 NND
l i
mrNrmN ND 0
疲劳极限
r
二、等寿命疲劳曲线
1
t
a
0
1 0
2
450
450
已知材料的 0 0
§4-1 键连接 一.键连接类型及应用
1.平键连接 3.楔键连接 2.半圆键连接 4.切向键连接
【精品】西北工业大学机械原理复习题.docx

复习题一、填空题1.若螺纹的升角为4,接触面的当量摩擦系数为尤,则螺旋副发生自锁的条件是。
2.在设计滚子从动件盘状凸轮廓线时,若发现工作廓线有变尖现象,则在尺寸参数改变上应采取的措施是o3.对心曲柄滑块机构以曲柄为原动件时,其最大传动角/等于-4.曲柄滑块机构是改变曲柄摇杆机构中的而形成的。
在曲柄滑块机构中改变而形成偏心轮机构。
在曲柄滑块机构中以而得到回转导杆机构。
5.当原动件作等速转动时,为了使从动件获得间歇的转动,则可以采用机构。
(写出三种机构名称。
)6.符合静平衡条件的回转构件,其质心位置在_____________________ 。
静不平衡的回转构件,由于重力矩的作用,必定在_______________________ 位置静止,由此可确定应加上或去除平衡质量的方向。
7.斜齿轮—面上的参数是标准值,而斜齿轮尺寸计算是针对—面进行的。
8.为了减少飞轮的质量和尺寸,应将飞轮安装在_____________ 轴上。
9.蜗轮的螺旋角应__________ 蜗杆的升角,且它们的旋向应该o10.运动链成为机构的条件是o11.用飞轮进行调速时,若其它条件不变,则要求的速度不均匀系数越小,飞轮的转动惯量将越—,在满足同样的速度不均匀系数条件下,为了减小飞轮的转动惯量,应将飞轮安装在轴上。
12.能实现间歇运动的机构有、、o13.图a)、b)所示直动平底从动件盘形凸轮机构的压力角数值分别为14.在平面机构中,一个低副引入—个约束,而一个高副引入—个约束。
15.齿轮渐开线的形状取决于。
16.斜齿轮的正确啮合条件是o17.移动副的自锁条件是。
18.已知一车交链四杆机构ABCD中,已知/仙=30mm, l BC— 80mm,l CD— 130mm, l AD— 90mm,构件AB为原动件,且AD为机架,BC为AD 的对边,那么,此机构为机构。
19.对于绕固定轴回转的构件,可以采用的方法使构件上所有质量的惯性力形成平衡力系,达到回转构件的平衡。
西北工业大学机械设计基础复习

2. 本章的重点 本章的重点:
凸轮机构及其设计
推杆常用的运动规律 盘形凸轮轮廓曲线的设计 凸轮机构的压力角与机构的受力情况和机构尺寸的关系
1. 本章的知识脉络
齿轮机构及其设计
分类-- 定比传动、变比传动 基础知识-- 齿廓啮合基本定律 齿轮 渐开线齿轮
渐开线齿廓及其啮合特性 基本参数及其几何尺寸计算 标准齿轮 直齿轮 圆柱 齿轮 正确啮合条件、重合度
其 他 常 用 机 构
传动轴间相互 万向铰链机构 位置需变动
回转移动相互转换
螺旋机构
其它常用机构 2. 本章的重点与难点 本章的重点是了解常用的一些其他基本机构和某些 组合机构的工作原理、运动特点及其应用。
例. 如图所示凸轮机构,已知凸轮实际轮廓线为一圆心在B点的偏心圆, 从动件的偏距为e,请在图上标出: 1)凸轮的理论廓线; 2)凸轮的基圆; 3)凸轮与推杆在C点接触时的压力角与推杆位移 4)凸轮与推杆在C点接触到D点接触 所转过的角度
机械中任一运动副自锁 机械效率小于等于零
机械中的摩擦及机械效率 一、本章的重点与难点 1. 本章的重点 1)常见运动副中摩擦力及总反力的确定
2)机械效率的计算
3)机械的自锁现象和自锁条件的确定 2. 本章的难点
转动副中总反力作用线的确定
机械中的平衡 一、 本章的知识脉络 静平衡 刚性转子的平衡 动平衡 完全平衡 机构的平衡 不完全平衡 b/d>0.2
解析法
两构件上重合 点间速度关系
平面机构的速度分析 二、本章的重点与难点
本章的学习重点是利用瞬心法和相对运动图解法对机构 进行运动分析 。 本章的难点是对机构的速度分析
机械中的摩擦及机械效率 一、本章知识脉络 移动副 运动副中的 摩擦力分析 转动副 平面接触 槽面接触 半圆柱面 接触 轴径摩擦
西工大-飞机系统设计原理复习要点

飞机系统设计原理复习要点第一章飞机飞行操纵系统绪论1 操纵系统的功能是什么?答:飞机飞行操纵系统是用来传递驾驶员的操纵指令的.通过操纵系统使飞机各操纵面按操纵指令的规律偏转,从而实现对飞机各种飞行姿态稳定的控制.(P1)2 飞机飞行操纵系统按操纵指令如何划分?各有什么特点?答:(1) 分为人工飞行操纵系统(MFCS)和自动飞行控制系统(AFCS).(2) 操纵指令由驾驶员发出的属于前者.(3) 操纵信号不是驾驶员的操纵信号,而是飞机本身的飞行参数信号,属于后者.3 飞行操纵系统发展了几代?各是什么?答:(1) 第一代:简单机械操纵系统(2) 第二代:不可逆助力操纵系统.(3) 第三代:控制增稳系统(4) 第四代:电传操纵系统.1.1 飞机操纵系统的设计要求和基本原理1 如何保证驾驶员正常操纵飞机?(1)驾驶员的操纵动作必须符合人的本能反应和习惯(2)驾驶员通过驾驶杆或驾驶盘可同时操纵副翼和升降舵,两舵面的偏转应保证互不干扰(3)驾驶员的操纵杆力和杆位移要恰当(4)纵向,横向或航向的操纵杆力要匹配.(5)操纵系统的启动力应在合适的范围内.(6)限制操纵系统的操纵延迟(7)具有既合适又足够的驾驶杆利和位移,以保证舵面的最大偏转角和完成飞机作各种机动的要求,(8)操纵系统元件和其他相邻结构之间要保持一定的间隙,以保证操纵系统在任何飞行状态下不被卡死.2 飞机的操纵系统由哪两部分组成?各指什么?(1)由中央操纵系统和传动系统两部分组成(2)驾驶员直接操纵的部分称中央操纵系统,从中央操纵系统至舵面之间的部分称传动系统3 中央操纵系统有哪些组成形式?(1)中央操纵系统由手操纵和脚操纵两部分组成(2)常规的手操纵机构有驾驶杆式和驾驶盘式两种.部分采用电传操纵的现代高机动歼击机使用敏感驾驶手柄.(3)脚操纵机构有平放式和立放式两种,前者多与驾驶杆式手操纵机构组合,后者多与驾驶盘式手操纵机构组合4 传动系统有哪些组成形式?(1)由拉杆摇臂组成的硬式传动系统(2)由钢索滑轮组成的软式传动系统(3)两者兼而有之的混合式传动系统5 传动系统的主要构件有哪些?(1)硬式传动系统:拉杆摇臂导向滑轮轴承(2)软式操纵系统:钢索滑轮钢索张力补偿器6 钢索预张力的大小是如何规定的?钢索使用载荷的1/2,钢索设计载荷的1/47 操纵系统有哪些重要的特征参数?表达方法和计算?(1)传动系数和传动比是操纵系统的两个重要的特征参数(2)操纵系统的传动系数时指舵面偏角增量Δφ与驾驶杆位移增量Δx之比,也可定义为驾驶杆力与舵面铰链力矩之比K=Δφ/Δx=F/Mj(3)操纵系统的传动比表示驾驶杆力F与舵面摇臂上的传动力Q之比n=F/Q(4)传动系数和传动比的关系是:K=n/r,r是舵面操纵摇臂的有效半径(5)操纵系统的传动比也由各个摇臂的传动比组成,具体计算见课本P158 什么是差动操纵?当驾驶杆向前后(或左右)作相同的位移,舵面向上下的偏转角不等,就叫做差动操纵。
西北工业大学机械设计基础复习纲要

机械设计基础复习纲要 (1)必备的基础知识(1) 机械零件的常用材料1)钢是一种含碳量低于2%的铁碳合金。
2)铸铁含碳量高于2%的铁碳合金为铸铁。
3)有色金属有色金属 ,是相对于黑色金属而言 4)非金属钢的分类1)结构钢2)工具钢3)特殊钢结构钢碳素钢普通碳素结构钢(如:Q235) 优质碳素结构钢(如:45钢)合金钢铸铁 铸铁其性脆,不适于锻压和焊接,但其熔点较低,流动性好,可以铸造形状复杂的大小铸件。
常用的铸铁有:灰铸铁、球墨铸铁、可锻铸铁和合金铸铁等。
灰铁应用最多,其牌号由“灰铁”二字汉语拼音字首和材料的抗拉强度的平均值。
如: HT200有色金属 铜合金有一定的强度和硬度,导电性、导热性、减摩耐磨性和耐蚀性良好,是制造电工器件和耐磨蚀零件的重要材料。
铝及铝合金是应用最广的轻金属,纯铝有良好的塑性、耐蚀性、导电性、导热性和焊接性,但强度、硬度较低。
在铝中加人合金元素硅、铜、镁、锰、锌等,可以获得质量轻、强度高的零件。
工程塑料 工程塑料是在工程中用来作结构或传动件材料的塑料,它有较高的强度,质量轻,具有绝缘性、减摩耐磨性、耐蚀性、耐热性等。
(2)机械零件的基本变形及应力拉压A F =σ 剪切A F=τ扭转T T W T =τ弯曲W M =σ(3)常用机构的特点及应用 首先应明确机构的用途:运动形式的转换1、旋转运动 → 直线运动曲柄滑块机构 凸轮机构 齿轮齿条机构螺旋机构2、直线运动 → 旋转运动齿条-齿轮机构 螺旋机构 曲柄滑块机构3、旋转运动 → 旋转运动 速度的变换 减速传动 增速传动 变速传动 间歇传动(4) 通用机械零件的特点及应用联接件 : 螺纹联接 轴毂联接 铆、焊、胶 传动件 : 齿轮传动 带传动 链传动轴系部件 : 轴 滚动与滑动轴承 联轴器、离合器 其它 : 弹簧(2)必要的基本理论(1)机构的组成及机构具有确定运动的条件机构的自由度F=原动件的数目(2)螺旋副的摩擦、效率和自锁条件H L 23P P n F --=1111283=-⨯-⨯=F ()v W d T ϕλ+=tan 22驱动力矩 ()v ϕλλη+=tan tan 上行程 λϕληtan )tan(v -=下行程 βθcos sin ff f v ==v v f arctan =ϕv ϕλ≤(3)铰链四杆的特性及其演化铰链四杆机构中有曲柄的条件:1)最短杆长度十最长杆长度<其他两杆长度之和(杆长条件)。
西工大noj标准答案版.doc

西北工业大学 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 <>#include <>#include <>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 <>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 <>int main(){int A,B,sum;scanf("%d%d",&A,&B);sum=A+B;printf("%d\n",sum);return 0;}4.AB#include <>#include <>#include <>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 <>#include <>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 <>#include <>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 <>#include <>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 <>#include <>#include <>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 <>#include <>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*(a+b)*;if>||<printf("Fail");elseprintf("%d/%d",a,a+b);OH:return 0;}10.Dexter need help #include <>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 <>#include <>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 <>#include <>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 <>#include <>#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 <>#include <>#include <>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("\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 <>#include <>#include <>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 <>#include <>#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 <>#include <>#include <>#define piint 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 <>#include <>#include <>int main(){inta[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 <>#include <>#include <>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 <>#include <>#include <>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 <>#include <>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 <>#include <>#include <>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 <>#include <>#include <>int len[64],n,minlen,get;int b[64];int cmp(const void *a,const void *b) {return *(int *)a<*(int *)b1:-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 <>#include <>#include <>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 <>#include <>#include <>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<>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 <>#include <>int main(){printf("A=Z\nB=X\nC=Y\n");return 0;}29.毕业设计论文打印#include <>#include <>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 <>#include <>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]);}。
西工大noj问题详解解析汇报(完整版)

西北工业大学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++)s=s+A[n][i];for(i=1;i<=n;i++)s=s+A[i][1];for(i=1;i<=n;i++)。
西北工业大学《集成电路分析与设计》总复习

《集成电路分析与设计》总复习第一章节1、什么是电路?将各种类型的电子元器件按照一定的规则连接起来,从而完成一定的功能。
2、什么是集成电路?所谓集成电路,就是通过在半导体单晶结构材料上制作各种元器件(通常称之为“集成电路的器件结构”),并且按照电路规则,将其连接从而形成的一个具备一定功能、指标的电路结构。
这里所有的器件,都是通过相应的结构形式,制作在半导体单晶材料上面的。
3、按照导电载流子类型分类,通常集成电路分为哪几种类型?按照载流子类型分类,集成电路通常分为:•、“双极型集成电路”(BJT)即:参与导电的载流子既有空穴又有电子;②、“单极型集成电路”(MOS)即:参与导电的载流子只有空穴或电子;③、结合两种形式各自优点而产生出来的混合设计形式的集成电路(Bi-CMOS)。
这种分类方式通常也称为按器件结构类型分类。
4、集成电路分析与设计过程中常用到的EDA工具主要有哪几类?目前市面上最为主流的设计工具有:①、Candence EDA软件②、Synopsys EDA软件③、Mentor EDA软件第二章节3、双极型集成电路中的二极管,一般采用晶体管的不同连接方式构成;或者采用晶体管中单独PN结构成。
4、MOS集成电路的有源寄生•场区寄生MOSFET•寄生双极晶体管•寄生PNPN效应(闩锁(Latch up)效应)第三章节1、集成电路版图设计集成电路版图(Integrated Circuit Layout),是真实集成电路物理情况的平面几何形状描述。
•版图(Layout)是集成电路从设计走向制造的桥梁,它包含了集成电路尺寸、各层拓扑定义等器件相关的物理信息数据。
•集成电路制造厂家根据这些数据来制造掩膜。
•掩膜上的图形决定着芯片上器件或连接物理层的尺寸。
因此版图上的几何图形尺寸与芯片上物理层的尺寸直接相关。
•由于器件的物理特性和工艺的限制等原因,版图的设计必须遵守特定的规则,这些规则是各集成电路制造厂家根据本身的工艺特点和技术水平而制定的。
西工大noj答案完整版

西北工业大学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++)。
西工大noj答案

西工大noj答案【篇一:西工大poj100题(全新)】圆及圆球等的相关计算#includestdio.hint main(){int a,b,sum;scanf(%d %d,a,b);sum=a+b;printf(%d,sum); }#includestdio.hint main(){float r,h,l,s,sq,vq,vz,pi=3.141592653; scanf(%f %f,r,h);l=2*pi*r;s=pi*r*r;【篇二:西北工业大学 c语言 poj题目及答案_第一季】>毋庸置疑,学习程序设计就是奔着“程序员梦”去的。
编程本质是运用计算机科学的基本思想求解问题、设计系统以及理解人类的思维行为和普适技能,核心是“实现”。
因此,诸如“中国梦”、“程序员梦”是编写出来,即“coding now,programming future”。
在这个学期,你将尝试用“编写”的方式去“实现”,体验与过去完全不同的“实现”。
在这个过程中,有太多的“if”不确定、有太多的“for”死循环、有太多的“bug”愁断魂,“实现”并不容易。
有人的地方就有江湖,有江湖的地方就有武林大会。
poj(problems online judge)是学编程的江湖。
在这里,做习题叫做“刷题”,习题做错叫做“被挖”(wa=wrong answer,结果错误),习题通过叫做“a了”(ac=accepted,结果通过),简单习题称为“水题”,“刷一圈”指连续刷题12小时以上。
总会有人用一、两周的时间完成100题的oj,这不叫“刷题”,叫“梦游”。
2012学年,一个大三的哥哥将100题的源码整理出版了(长安校区超市旁的复印店),大一亲们蜂拥而至,一时间“a4纸贵”,交叉着下载、复制、粘贴、上传的能力训练,唯独不见“编写”。
待到期末上机考试,亲们那双瞠目的眼睛与希望工程那双大眼睛神似,最终贡献了两位数的gdp。
有道是出来混的,迟早要还,哥哥今昔完美毕业,亲们继续“梦游”。
西工大NOJ答案完全版

输出A+B的结黑#i nclude<stdio.h>int main(){int a,b,sum;sca nf("%d%d",&a,&b);sum=a+b;prin tf("%d\n",sum); return 0; }#i nclude<stdio.h>#define PI 3.1415926int main(){double r,h,l,s,sq,vq,vz;sca nf("%lf%lf",&r,&h);l=2*PI*r;s=p|*r*r;sq=4*p|*r*r;vq=PI*r*r*r*4/3;vz=PI*r*r*h;prin tf("%.2lf\n%.2lf\n%.2lf\n%.2lf\n%.2lf\n",l,s,sq,vq,vz); return 0;}#i nclude<stdio.h>int main(){double ma,e ng,c,sum,ave;sca nf("%lf%lf%lf",&ma,&en g,&c); sum=ma+e ng+c; ave=sum/3;prin tf("%lf\n %lf\n",sum,ave); return 0;}#i nclude<stdio.h>int main(){int a,b,c,m;sca nf("%d%d%d",&a,&b,&c); if (a>b) m=a;else m=b;if (m<c) m=c;prin tf("%d",m);return 0;}#i nclude<stdio.h>int main(){int n;sca nf("%d",&n);if ((1000V n<10000)&&(n/1000==n%10)&&(n/100%10==n/10%10)) prin tf("y es\n");else if((100<n<=1000)&&(n/100==n%10)) printf("yes\n");else if((10< n <=100)&&(n/10==n%10)) pri ntf("yes\n");else if(0< n<=10) pri ntf("yes\n");else prin tf(" no\n");return 0;}#i nclude<stdio.h>int main(){double l,b on;sca nf("%lf",&l);if(|v=10) bon=1*0.1;else if(l<20) bo n=1+(l-10)*0.075; else if(l<40) bon=1.75+(1-20)*0.05; else if(l<60) bon=2.75+(1-40)*0.03; else if(l<100) bon=3.35+(1-60)*0.015; else bo n=3.95+(l-100)*0.01;prin tf("%lf\n",bo n);return 0;}输出为实型,帰留六惶小裁(单位为元)#i nclude<stdio.h>int main(){double d,m;sca nf("%lf",&d);if(d<=2) m=7;else if(d<=15){if(d-2==(i nt)(d-2)) m=7+(d-2)*1.5;else m=7+((i nt)(d-2)+1)*1.5;}else if(d-15==(int)(d-15)) m=26.5+(d-15)*2.1; else m=26.5+((i nt)(d-15)+1)*2.1;prin tf("%lf\n",m);return 0;}#i nclude<stdio.h>int main(){int y,m,d,Days,sum;sca nf("%d-%d-%d", &y,&m,&d);if((y%4==0&&y%100!=0)||(y%400==0)) Days=29; else Days=28; switch(m){case 1:sum=d;break;case 2:sum=31+d;break;case 3:sum=31+Days+d;break;case 4:sum=62+Days+d;break;case 5:sum=92+Days+d;break;case 6:sum=123+Days+d;break;case 7:sum=153+Days+d;break;case 8:sum=184+Days+d;break;case 9:sum=215+Days+d;break;case 10:sum=245+Days+d;break;case 11:sum=276+Days+d;break;case 12:sum=307+Days+d;break;}prin tf("%d\n",sum);return 0;}#i nclude<stdio.h>int main(){int i;sca nf("%d",&i);if(i>=90) prin tf("A\n");else if(i>=80) prin tf("B\n"); else if(i>=70) pri ntf("C\n"); else if(i>=60) prin tf("D\n"); else prin tf("E\n");return 0;}#i nclude<stdio.h>int main(){double x,y;sca nf("%lf,%lf", &x,&y);if((x-2)*(x-2)+(y-2)*(y-2)v=1) prin tf("10");else if((x-2)*(x-2)+(y+2)*(y+2)<=1) printf("10"); else if((x+2)*(x+2)+(y-2)*(y-2)<=1) printf("10"); else if((x+2)*(x+2)+(y+2)*(y+2)<=1) printf("10"); else prin tf("0");return 0;}输出根炬型・保留两性呷数.#i nclude<stdio.h>int main(){double l,x,r;sca nf("%lf %lf",&l,&r);while((2*l*l*l-4*l*l+3*l-6)!=0&&(2*r*r*r-4*r*r+3*r-6)!=0){ x=(l+r)/2;if((2*l*l*l-4*l*l+3*l-6)*(2*x*x*x-4*x*x+3*x-6)<=0)r=x;else l=x;}if(2*l*l*l-4*l*l+3*l-6==0) prin tf("%.2lf",l);else prin tf("%.2lf",r);return 0;}}#i nclude<stdio.h>#in clude<math.h>int main(){int i=800,t=2,c nt=0,sum=0;double e=-1;while(i>=500){while(t<=i-1){if(i%t==0) break;t++;}if(t==i) e=pow(-1,c nt),sum=sum+e*i,cnt++; i--;t=2;}prin tf("%d %d",cnt,sum);return 0;#i nclude<stdio.h>#in clude<math.h> int main(){int a=1;double b=1,pi=0,c=1;while(fabs(c)>=1e-6)pi=pi+c,b=b+2,a=-a,c=a/b; pi=pi*4; prin tf("%lf\n",pi); return 0;}}#i nclude<stdio.h>int main(){int a仁1,a2=1,n=2,sum=2,t; while(sum<=100){t=a1;a仁a2;a2=t+2*a2; sum=sum+a2;n++;}prin tf("%d\n", n-1);while(sum<=1000){t=a1;a仁a2;a2=t+2*a2; sum=sum+a2;n++;}prin tf("%d\n", n-1);while(sum<=10000){t=a1;a仁a2;a2=t+2*a2;}sum=sum+a2; n++;}prin tf("%d\n", n-1);}File Name :T01 Sxpp最次方数输出为整型.#i nclude<stdio.h>int main(){int x,a,s, n=1;scanf("%d %d",&x,&a);s=x;if(a!=O){for(; n<a;n++){s=s*x;if(s>=1000) s=s/100%10*100+s/10%10*10+s%10;}}prin tf("%d\n",s);return 0;輸出连腹奇蒙之和,格式如sa mple outputB示.#i nclude<stdio.h>int main(){int m, n,s;scan f("%d",&n);s=n*n*n;prin tf("%d*%d*%d=%d=" ,n,n,n ,s);for(m=1;s!=n*m;m++);if(n %2==1){for(s=-n/2;s< n/2;s++)pri ntf("%d+",m+2*s);prin tf("%d",m+n/2*2);}else{for(s=-n/2;s< n/2-1;s++)pri ntf("%d+",m+s*2+1); prin tf("%d",m+( n/2-1)*2+1);}}#i nclude<stdio.h>int main(){char a,b,c,x,y, z; a='A',b='B',c=C,x='X',y='Y',z='Z'; prin tf("%c=%c\n",a,z);prin tf("%c=%c\n",b,x);prin tf("%c=%c\n",c,y); return 0;}#i nclude<stdio.h>int main(){int a,b,t;sca nf("%d %d",&a,&b); if(a>b)t=a,a=b,b=t;for(;a<b;a++){ for(t=2;t<a;t++)if(a%t==0) break; if(t==a)pri ntf("%d ",a); }return 0;}#i nclude<stdio.h>int main(){int n=1;double a1= 1,a2=2,a3,sum=2; while( n<=19){a3=a1+a2;sum=sum+a3/a2;a仁a2;a2=a3;n++;}prin tf("%lf\n",sum);return 0;}}Input#i nclude<stdio.h>#in clude<math.h> int main() {double a;int n=0;sca nf("%lf",&a); a=fabs(a); if(a<=1)pri ntf("0\n"); else{while(a>1){ a=a/10;n++;}prin tf("%d\n", n);}#i nclude<stdio.h>int main(){int a=1,b=0,t, m,n=0; sca nf("%d", &t); while( n< t){ m=b; b=3*a+2*b;a=m;n++;}prin tf("%d %d",a,b); return 0;}}输出旅苣方法的数目#i nclude<stdio.h>#in clude<math.h> int main(){int n;int f(i nt n);sca nf("%d",&n);prin tf("%d\n",f( n));}int f(i nt n){int a;if(n==1|| n==2)a=0;else if(n==3)a=1;else if(n==4)a=3;elsea=f( n-1)*2+pow(2, n-4)-f( n-4); return a; }#i nclude<stdio.h>int main(){int n ,x=1234,y=1,a,b,c,d,e,f,g,h,i,j;sca nf("%d",&n);for(;x<49383&&y<98765;x++){y=x* n;a=x/10000%10; b=x/1000%10;c=x/100%10; d=x/10%10;e=x%10;f=y/10000%10; g=y/1000%10;h=y/100%10;i=y/10%10;j=y%10; if(a==b||a==c||a==d||a==e||a==f||a==g||a==h||a==i||a==j) con ti nue;if(b==c||b==d||b==e||b==f||b==g||b==h||b==i||b==j) con ti nue;if(c==d||c==e||c==f||c==g||c==h||c==i||c==j) con ti nue;if(d==e||d==f||d==g||d==h||d==i||d==j) con ti nue; if(e==f||e==g||e==h||e==i||e==j) con ti nue; if(f==g||f==h||f==i||f==j) con ti nue;if(g==h||g==i||g==j) continue;if(h==i||h==j) continue;if(i==j) continue;prin tf("%05d/%05d=%d\n",y,x, n); }return 0;}1 1 1/+(科十iy + +歹輪出计算绪果,赧鈕5粒小薮.#i nclude<stdio.h>#i nclude<stdlib.h>#in clude<math.h> int main(){in t m,n ,i;double x,s=0;sca nf("%d%d",&n,&m);for(i=n ;i<=m;i++){x=pow(i,2.0); s=s+1/x;}prin tf("%.5lf\n",s); return 0;}#i nclude<stdio.h>int main(){int x,y,a,b,L;double t;scan f("%d%d%d%d%d", &x, &y,&a,&b,&L); if(a==b) prin tf("impossible\n");else if(x>y){ if(a>b)y=L-x+y,t=(double)y/(a-b); else y=x-y,t=(double)y/(b-a);if((i nt)t==t)pri ntf("%d\n",(i nt)t); else prin tf("%lf\n",t);}else { if(a>b)y=y-x,t=(double)y/(a-b); else y=L-y+x,t=(double)y/(b-a); if((i nt)t==t)pri ntf("%d\n",(i nt)t); else prin tf("%lf\n",t);}return 0;}#i nclude<stdio.h>int _max(i nt a,i nt b){ _retur n a>b?a:b;}int a[20];int f[20][20];int main(){int n ,i,j,s=0;sca nf("%d",&n);for(i=0;i< n;i++)scan f("%d",&a[i]);for(j=1;j< n;j++)f[0][0]=a[0],f[0][j]=f[0][j-1]*a[j]; for(i=1;i< n;i++){f[i][i-1]=1;for(j=i;j< n;j++)f[i][j]=f[i][j-1]*a[j];}for(i=0;i< n;i++) for(j=i;j< n;j++) s=_max(s,f[i][j]);if(s==O)pri ntf("-1\n"); else prin tf("%d\n",s); return 0;}#i nclude<stdio.h>int main(){int x=192,y, z,a,b,c,d,e,f,g,h,i;for(;x<328;x++){y=2*x;z=3*x;a=x/100%10;b=x/10%10;c=x%10;d=y/100%10;e=y/10%10;f=y%10;g=z/100%10;h=z/10%10;i=z%10;if(a==b||a==c||a==d||a==e||a==f||a==g||a==h||a==i||a==0) con ti nue;if(b==c||b==d||b==e||b==f||b==g||b==h||b==i||b==0) con ti nue;if(c==d||c==e||c==f||c==g||c==h||c==i||c==0) con ti nue;if(d==e||d==f||d==g||d==h||d==i||d==0) con ti nue;if(e==f||e==g||e==h||e==i||e==O) con ti nue; if(f==g||f==h||f==i||f==O) con ti nue; if(g==h||g==i||g==O) con ti nue; if(h==i||h==O) continue;prin tf("%d %d %d\n",x,y,z);}return 0;}#i nclude<stdio.h>int main(){int a,b,c,sum=10;sca nf("%d%d%d",&a,&b,&c);for(;sum<=100;sum++){if(sum%3==a&&sum%5==b&&sum%7==c){ prin tf("%d\n",sum); break;}}if(sum==101)pri ntf("-1\n");return 0;}輸出合敎世圮起始导殆束年檢,用空恪隔开#i nclude<stdio.h>#in clude<math.h>int main(){int ce,y,m, n,a=0;sca nf("%d",&n); for(ce=0;;ce+=100){for(y=ce+1;y<ce+100;y+=2){ for(m=3;m<sqrt(y);m+=2){ if(y%m==0) break;}if(m>=sqrt(y)) break;}if(y==ce+101) a++;if(a==n) break;}prin tf("%d %d\n",ce,ce+99); return 0;}{int n,i;sca nf("%d",&n);for(i=1;i<=n ;i++){if(i%7==0) pri ntf("%d ",i);else if(i/1000%10==7||i/100%10==7||i/10%10==7||i%10==7) printf("%d ",i ); }return 0;}#i nclude<stdio.h>double a[100000000];int main(){int n,i;double ave,sum=0;sca nf("%d",&n);for(i=0;i< n;i++){scan f("%lf",&a[i]); sum=sum+a[i];}ave=su m/n;for(i=0,sum=0;i <n ;i++) sum=sum+(a[i]-ave)*(a[i]-ave); prin tf("%lf\n",sum); return 0;}int f[100000000];int main(){int n,i;sca nf("%d",&n);for(i=0;i< n;i++){int a,b;scan f("%d%d",&a,&b);f[i]=a+b;}for(i=0;i< n;i++){if(f[i]>100) f[i]=f[i]/10%10*10+f[i]%10,pri ntf("%d\n",f[i]); else prin tf("%d\n",f[i]); }return 0;}ttinc-udeAsfdio.hvttinc-udeAmafh.hvinfn H n v v k t八「efumn QO —k八inf main。
西工大NOJ答案完全版

输出A+B的结黑#i nclude<stdio.h>int main(){int a,b,sum;sca nf("%d%d",&a,&b);sum=a+b;prin tf("%d\n",sum); return 0; }#i nclude<stdio.h>#define PI 3.1415926int main(){double r,h,l,s,sq,vq,vz;sca nf("%lf%lf",&r,&h);l=2*PI*r;s=p|*r*r;sq=4*p|*r*r;vq=PI*r*r*r*4/3;vz=PI*r*r*h;prin tf("%.2lf\n%.2lf\n%.2lf\n%.2lf\n%.2lf\n",l,s,sq,vq,vz); return 0;}#i nclude<stdio.h>int main(){double ma,e ng,c,sum,ave;sca nf("%lf%lf%lf",&ma,&en g,&c); sum=ma+e ng+c; ave=sum/3;prin tf("%lf\n %lf\n",sum,ave); return 0;}#i nclude<stdio.h>int main(){int a,b,c,m;sca nf("%d%d%d",&a,&b,&c); if (a>b) m=a;else m=b;if (m<c) m=c;prin tf("%d",m);return 0;}#i nclude<stdio.h>int main(){int n;sca nf("%d",&n);if ((1000V n<10000)&&(n/1000==n%10)&&(n/100%10==n/10%10)) prin tf("y es\n");else if((100<n<=1000)&&(n/100==n%10)) printf("yes\n");else if((10< n <=100)&&(n/10==n%10)) pri ntf("yes\n");else if(0< n<=10) pri ntf("yes\n");else prin tf(" no\n");return 0;}#i nclude<stdio.h>int main(){double l,b on;sca nf("%lf",&l);if(|v=10) bon=1*0.1;else if(l<20) bo n=1+(l-10)*0.075; else if(l<40) bon=1.75+(1-20)*0.05; else if(l<60) bon=2.75+(1-40)*0.03; else if(l<100) bon=3.35+(1-60)*0.015; else bo n=3.95+(l-100)*0.01;prin tf("%lf\n",bo n);return 0;}输出为实型,帰留六惶小裁(单位为元)#i nclude<stdio.h>int main(){double d,m;sca nf("%lf",&d);if(d<=2) m=7;else if(d<=15){if(d-2==(i nt)(d-2)) m=7+(d-2)*1.5;else m=7+((i nt)(d-2)+1)*1.5;}else if(d-15==(int)(d-15)) m=26.5+(d-15)*2.1; else m=26.5+((i nt)(d-15)+1)*2.1;prin tf("%lf\n",m);return 0;}#i nclude<stdio.h>int main(){int y,m,d,Days,sum;sca nf("%d-%d-%d", &y,&m,&d);if((y%4==0&&y%100!=0)||(y%400==0)) Days=29; else Days=28; switch(m){case 1:sum=d;break;case 2:sum=31+d;break;case 3:sum=31+Days+d;break;case 4:sum=62+Days+d;break;case 5:sum=92+Days+d;break;case 6:sum=123+Days+d;break;case 7:sum=153+Days+d;break;case 8:sum=184+Days+d;break;case 9:sum=215+Days+d;break;case 10:sum=245+Days+d;break;case 11:sum=276+Days+d;break;case 12:sum=307+Days+d;break;}prin tf("%d\n",sum);return 0;}#i nclude<stdio.h>int main(){int i;sca nf("%d",&i);if(i>=90) prin tf("A\n");else if(i>=80) prin tf("B\n"); else if(i>=70) pri ntf("C\n"); else if(i>=60) prin tf("D\n"); else prin tf("E\n");return 0;}#i nclude<stdio.h>int main(){double x,y;sca nf("%lf,%lf", &x,&y);if((x-2)*(x-2)+(y-2)*(y-2)v=1) prin tf("10");else if((x-2)*(x-2)+(y+2)*(y+2)<=1) printf("10"); else if((x+2)*(x+2)+(y-2)*(y-2)<=1) printf("10"); else if((x+2)*(x+2)+(y+2)*(y+2)<=1) printf("10"); else prin tf("0");return 0;}输出根炬型・保留两性呷数.#i nclude<stdio.h>int main(){double l,x,r;sca nf("%lf %lf",&l,&r);while((2*l*l*l-4*l*l+3*l-6)!=0&&(2*r*r*r-4*r*r+3*r-6)!=0){ x=(l+r)/2;if((2*l*l*l-4*l*l+3*l-6)*(2*x*x*x-4*x*x+3*x-6)<=0)r=x;else l=x;}if(2*l*l*l-4*l*l+3*l-6==0) prin tf("%.2lf",l);else prin tf("%.2lf",r);return 0;}}#i nclude<stdio.h>#in clude<math.h>int main(){int i=800,t=2,c nt=0,sum=0;double e=-1;while(i>=500){while(t<=i-1){if(i%t==0) break;t++;}if(t==i) e=pow(-1,c nt),sum=sum+e*i,cnt++; i--;t=2;}prin tf("%d %d",cnt,sum);return 0;#i nclude<stdio.h>#in clude<math.h> int main(){int a=1;double b=1,pi=0,c=1;while(fabs(c)>=1e-6)pi=pi+c,b=b+2,a=-a,c=a/b; pi=pi*4; prin tf("%lf\n",pi); return 0;}}#i nclude<stdio.h>int main(){int a仁1,a2=1,n=2,sum=2,t; while(sum<=100){t=a1;a仁a2;a2=t+2*a2; sum=sum+a2;n++;}prin tf("%d\n", n-1);while(sum<=1000){t=a1;a仁a2;a2=t+2*a2; sum=sum+a2;n++;}prin tf("%d\n", n-1);while(sum<=10000){t=a1;a仁a2;a2=t+2*a2;}sum=sum+a2; n++;}prin tf("%d\n", n-1);}File Name :T01 Sxpp最次方数输出为整型.#i nclude<stdio.h>int main(){int x,a,s, n=1;scanf("%d %d",&x,&a);s=x;if(a!=O){for(; n<a;n++){s=s*x;if(s>=1000) s=s/100%10*100+s/10%10*10+s%10;}}prin tf("%d\n",s);return 0;輸出连腹奇蒙之和,格式如sa mple outputB示.#i nclude<stdio.h>int main(){int m, n,s;scan f("%d",&n);s=n*n*n;prin tf("%d*%d*%d=%d=" ,n,n,n ,s);for(m=1;s!=n*m;m++);if(n %2==1){for(s=-n/2;s< n/2;s++)pri ntf("%d+",m+2*s);prin tf("%d",m+n/2*2);}else{for(s=-n/2;s< n/2-1;s++)pri ntf("%d+",m+s*2+1); prin tf("%d",m+( n/2-1)*2+1);}}#i nclude<stdio.h>int main(){char a,b,c,x,y, z; a='A',b='B',c=C,x='X',y='Y',z='Z'; prin tf("%c=%c\n",a,z);prin tf("%c=%c\n",b,x);prin tf("%c=%c\n",c,y); return 0;}#i nclude<stdio.h>int main(){int a,b,t;sca nf("%d %d",&a,&b); if(a>b)t=a,a=b,b=t;for(;a<b;a++){ for(t=2;t<a;t++)if(a%t==0) break; if(t==a)pri ntf("%d ",a); }return 0;}#i nclude<stdio.h>int main(){int n=1;double a1= 1,a2=2,a3,sum=2; while( n<=19){a3=a1+a2;sum=sum+a3/a2;a仁a2;a2=a3;n++;}prin tf("%lf\n",sum);return 0;}}Input#i nclude<stdio.h>#in clude<math.h> int main() {double a;int n=0;sca nf("%lf",&a); a=fabs(a); if(a<=1)pri ntf("0\n"); else{while(a>1){ a=a/10;n++;}prin tf("%d\n", n);}#i nclude<stdio.h>int main(){int a=1,b=0,t, m,n=0; sca nf("%d", &t); while( n< t){ m=b; b=3*a+2*b;a=m;n++;}prin tf("%d %d",a,b); return 0;}}输出旅苣方法的数目#i nclude<stdio.h>#in clude<math.h> int main(){int n;int f(i nt n);sca nf("%d",&n);prin tf("%d\n",f( n));}int f(i nt n){int a;if(n==1|| n==2)a=0;else if(n==3)a=1;else if(n==4)a=3;elsea=f( n-1)*2+pow(2, n-4)-f( n-4); return a; }#i nclude<stdio.h>int main(){int n ,x=1234,y=1,a,b,c,d,e,f,g,h,i,j;sca nf("%d",&n);for(;x<49383&&y<98765;x++){y=x* n;a=x/10000%10; b=x/1000%10;c=x/100%10; d=x/10%10;e=x%10;f=y/10000%10; g=y/1000%10;h=y/100%10;i=y/10%10;j=y%10; if(a==b||a==c||a==d||a==e||a==f||a==g||a==h||a==i||a==j) con ti nue;if(b==c||b==d||b==e||b==f||b==g||b==h||b==i||b==j) con ti nue;if(c==d||c==e||c==f||c==g||c==h||c==i||c==j) con ti nue;if(d==e||d==f||d==g||d==h||d==i||d==j) con ti nue; if(e==f||e==g||e==h||e==i||e==j) con ti nue; if(f==g||f==h||f==i||f==j) con ti nue;if(g==h||g==i||g==j) continue;if(h==i||h==j) continue;if(i==j) continue;prin tf("%05d/%05d=%d\n",y,x, n); }return 0;}1 1 1/+(科十iy + +歹輪出计算绪果,赧鈕5粒小薮.#i nclude<stdio.h>#i nclude<stdlib.h>#in clude<math.h> int main(){in t m,n ,i;double x,s=0;sca nf("%d%d",&n,&m);for(i=n ;i<=m;i++){x=pow(i,2.0); s=s+1/x;}prin tf("%.5lf\n",s); return 0;}#i nclude<stdio.h>int main(){int x,y,a,b,L;double t;scan f("%d%d%d%d%d", &x, &y,&a,&b,&L); if(a==b) prin tf("impossible\n");else if(x>y){ if(a>b)y=L-x+y,t=(double)y/(a-b); else y=x-y,t=(double)y/(b-a);if((i nt)t==t)pri ntf("%d\n",(i nt)t); else prin tf("%lf\n",t);}else { if(a>b)y=y-x,t=(double)y/(a-b); else y=L-y+x,t=(double)y/(b-a); if((i nt)t==t)pri ntf("%d\n",(i nt)t); else prin tf("%lf\n",t);}return 0;}#i nclude<stdio.h>int _max(i nt a,i nt b){ _retur n a>b?a:b;}int a[20];int f[20][20];int main(){int n ,i,j,s=0;sca nf("%d",&n);for(i=0;i< n;i++)scan f("%d",&a[i]);for(j=1;j< n;j++)f[0][0]=a[0],f[0][j]=f[0][j-1]*a[j]; for(i=1;i< n;i++){f[i][i-1]=1;for(j=i;j< n;j++)f[i][j]=f[i][j-1]*a[j];}for(i=0;i< n;i++) for(j=i;j< n;j++) s=_max(s,f[i][j]);if(s==O)pri ntf("-1\n"); else prin tf("%d\n",s); return 0;}#i nclude<stdio.h>int main(){int x=192,y, z,a,b,c,d,e,f,g,h,i;for(;x<328;x++){y=2*x;z=3*x;a=x/100%10;b=x/10%10;c=x%10;d=y/100%10;e=y/10%10;f=y%10;g=z/100%10;h=z/10%10;i=z%10;if(a==b||a==c||a==d||a==e||a==f||a==g||a==h||a==i||a==0) con ti nue;if(b==c||b==d||b==e||b==f||b==g||b==h||b==i||b==0) con ti nue;if(c==d||c==e||c==f||c==g||c==h||c==i||c==0) con ti nue;if(d==e||d==f||d==g||d==h||d==i||d==0) con ti nue;if(e==f||e==g||e==h||e==i||e==O) con ti nue; if(f==g||f==h||f==i||f==O) con ti nue; if(g==h||g==i||g==O) con ti nue; if(h==i||h==O) continue;prin tf("%d %d %d\n",x,y,z);}return 0;}#i nclude<stdio.h>int main(){int a,b,c,sum=10;sca nf("%d%d%d",&a,&b,&c);for(;sum<=100;sum++){if(sum%3==a&&sum%5==b&&sum%7==c){ prin tf("%d\n",sum); break;}}if(sum==101)pri ntf("-1\n");return 0;}輸出合敎世圮起始导殆束年檢,用空恪隔开#i nclude<stdio.h>#in clude<math.h>int main(){int ce,y,m, n,a=0;sca nf("%d",&n); for(ce=0;;ce+=100){for(y=ce+1;y<ce+100;y+=2){ for(m=3;m<sqrt(y);m+=2){ if(y%m==0) break;}if(m>=sqrt(y)) break;}if(y==ce+101) a++;if(a==n) break;}prin tf("%d %d\n",ce,ce+99); return 0;}{int n,i;sca nf("%d",&n);for(i=1;i<=n ;i++){if(i%7==0) pri ntf("%d ",i);else if(i/1000%10==7||i/100%10==7||i/10%10==7||i%10==7) printf("%d ",i ); }return 0;}#i nclude<stdio.h>double a[100000000];int main(){int n,i;double ave,sum=0;sca nf("%d",&n);for(i=0;i< n;i++){scan f("%lf",&a[i]); sum=sum+a[i];}ave=su m/n;for(i=0,sum=0;i <n ;i++) sum=sum+(a[i]-ave)*(a[i]-ave); prin tf("%lf\n",sum); return 0;}int f[100000000];int main(){int n,i;sca nf("%d",&n);for(i=0;i< n;i++){int a,b;scan f("%d%d",&a,&b);f[i]=a+b;}for(i=0;i< n;i++){if(f[i]>100) f[i]=f[i]/10%10*10+f[i]%10,pri ntf("%d\n",f[i]); else prin tf("%d\n",f[i]); }return 0;}ttinc-udeAsfdio.hvttinc-udeAmafh.hvinfn H n v v k t八「efumn QO —k八inf main。
西工大与西安交大期末复习考研备考2

1
+ 1
= 3 2
+ = − ′
1
=
=
34
二、控制系统的微分方程
消去中间变量 ,整理后可得到控制系统的微分方程为
′
′
+ =
+ − ′ ′
式中
2
+
+ =
2
19
一、线性元件的微分方程
[例2] 如图为弹簧—质量—阻尼器机械位移系统。试列写
质量 在外力作用 () 下位移 () 的运动方程。
解:设质量 相对于初始状态的位移、
速度、加速度分别为
() 、()/ 、 2 ()/ 2
的微分方程;3 消去中源自变量,得到输出量与输入量之间关系的微分
方程,便是元件时域的数学模型。
28
二、控制系统的微分方程
列写系统微分方程的步骤
1 分析系统的工作原理及各变量间的关系,确定出系统
的输入量和输出量;
2 根据系统各组成元件的工作原理及其在系统中的作用,
确定出各元件的输入量和输出量,并根据各自所遵循
一
般
概
念
系
统
模
型
频域法
线
性
系
统
相平面法
性
能
指
标
描述函数法
非线性系统
校正
12
2 控制系统的数学模型
2-1 控制系统的时域数学模型
2-2 控制系统的复数域数学模型
2-3 控制系统的结构图
西工大与西安交大期末复习考研备考1

24
一、自动控制系统基本控制方式
3、开环控制与闭环控制的比较
✓ 开环控制系统结构简单,成本低廉,但系统抗干扰能
力差,所以很少采用;
✓ 闭环控制系统抗干扰能力强,控制精度高,但系统结
构复杂。另外,当参数选择不当时,系统容易产生振 荡,所以闭环控制系统存在稳定问题。
2、对自动控制系统的基本要求
对控制系统提出的基本要求
稳定性的要求:系统进行工作最基本、最首要的条 件就是一定要稳定──“稳”;
动态性能的要求:系统的动态性能表现在快速性和 阻尼性上──“快”;
稳态性能要求:稳态时系统输出要尽可能的复现输 入,表现在稳态误差要小──“准”。
稳定性
快速性
准确性
35
二、自动控制系统分类及对其的要求
按系统的信号性质不同分类 连续系统与离散系统;
按系统的元件类型不同分类 机电系统; 液压系统; 气动系统; 生物系统……
32
二、自动控制系统分类及对其的要求
1、自动控制系统的分类
按系统的功用不同分类 温度控制系统;位置控制系统……
按输入信号的变化规律不同分类 恒值控制系统(又称调节系统,自动镇定系统):输 入信号为不随时间变化的常值。 随动系统(或称自动跟踪系统): 输入信号为事先不 知变化规律的随时间变化的随机函数。 程序控制系统:输入信号为事先知道变化规律的随时 间变化的函数。
25
一、自动控制系统基本控制方式
4、复合控制
复合控制:开环控制和闭环控制相结合的一种控制方式。 复合控制的实质:在闭环控制回路的基础上,附加一个
输入信号或干扰作用的顺馈通路,来提高系统的控 制精度。 顺馈通路:通常是由对输入信号的补偿装置或干扰作用 的补偿装置组成,分别称为按输入信号补偿和按干扰 补偿的复合控制 。
西工大算法复习资料总结材料(最终修订版)

笔试部分一.简答题(40分)1.算法的基本概念、性质及其与程序的联系与区别算法:是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。
算法性质:输入---有零个或者多个外部量作为算法的输入;输出---算法产生至少一个量最为输出;确定性:组成算法的每条指令是清晰的、无歧义的;有限性:算法中指令的执行次数有限和执行的时间有限。
程序:是算法用某种设计语言的具体实现,程序可以不满足算法的有限性。
2.大O表示法的含义和渐进时间复杂度(要会计算复杂度)大O表示法:称一个函数g(n)是O(f(n)),当且仅当存在常数c>0和n0>=1,对一切n>n0均有|g(n)|<=c|f(n)|成立,也称函数g(n)以f(n)为界或者称g(n)囿于f(n)。
记作g(n)=O(f(n))。
定义:如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数。
T(n)称为这一算法的“时间复杂度”。
当输入量n逐渐加大时,时间复杂度的极限情形称为算法的“渐近时间复杂度”。
3.分治法的基本思想是什么分治法的基本思想是:将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。
递归地解这些子问题,然后将各子问题的解合并得到原问题的解。
4.回溯算法的基本思想及其一般模式(子集树+排列树)基本思想:在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。
当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯。
若用回溯法求问题的所有解时,要回溯到根,且根结点的所有可行的子树都要已被搜索遍才结束。
而若使用回溯法求任一个解时,只要搜索到问题的一个解就可以结束。
搜索子集树的一般模式:void search(int m){if(m>n) //递归结束条件output(); //相应的处理(输出结果)else{a[m]=0; //设置状态:0表示不要该物品search(m+1); //递归搜索:继续确定下一个物品a[m]=1; //设置状态:1表示要该物品search(m+1); //递归搜索:继续确定下一个物品 }}搜索排列树的一般模式:void search(int m){if(m>n) //递归结束条件output(); //相应的处理(输出结果) elsefor(i=m;i<=n;i++){swap(m,i); //交换a[m]和a[i]if()if(canplace(m)) //如果m处可放置search(m+1); //搜索下一层swap(m,i); //交换a[m]和a[i](换回来) }}5.动态规划的基本思想、基本步骤、基本要素是什么基本思想:将待求解问题分解成若干子问题,先求解子问题,然后从这些子问题的解得到原问题的解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西北工业大学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++)。