摘要:
寄存器是CPU内部的用于运行中暂存数据的存储单元。 在PC用的16位CPU 8086、8088中,寄存器的名字分别是AX(累加器),BX(基址寄存器),CX(计数寄存器),DX(数据寄存器),SP(堆栈指针),BP(基址指针),SI(源变址寄存器),DI(目的变址寄存器),IP(指令指针),等等…… 这些寄存器除了从名字可以看得出来的用途以外,一部分寄存器也可以作为通用的一般数据寄存使用。具体每个寄存器的功能要与各种具体的指令关联起来才能理解清楚。 在386以上的32位CPU中,这些寄存器扩展成了32位的,名字就是在原来16位的名字前面加一个字母E,变成了EAX,EBX,………… 阅读全文
摘要:
公式:T(n) = O(f(n)) 其为渐进分析法。 我们常用大O表示法表示时间复杂度,注意它是某一个算法的时间复杂度。大O表示只是说有上界,由定义如果f(n)=O(n),那显然成立f(n)=O(n^2),它给你一个上界,但并不是上确界,但人们在表示的时候一般都习惯表示前者。此外,一个问题本身也有它的复杂度,如果某个算法的复杂度到达了这个问题复杂度的下界,那就称这样的算法是最佳算法。n是问题规模,它代表着要处理的数据量,举例:对1000个数排序,1000是数据量.f(n)是代码的运行工作量,即算法的基本操作重复执行的次数, 举例:#include int main(){ int ... 阅读全文
摘要:
描述进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别。一条独木舟最多只能乘坐两个人,且乘客的总重量不能超过独木舟的最大承载量。我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅客的最少的独木舟条数。现在请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。根据给出的规则,计算要安置所有旅客必须的最少的独木舟条数,并输出结果。输入第一行输入s,表示测试数据的组数; 每组数据的第一行包括两个整数w,n,80#include int person_weight[310];int main(){ int k, boat_max_weight, num_person... 阅读全文
摘要:
描述求A+B是否与C相等。输入T组测试数据。 每组数据中有三个实数A,B,C(-10000.0#include int main(){ double a, b, c; int n; scanf("%d", &n); while(n--){ scanf("%lf %lf %lf", &a, &b, &c); // if(a+b == c)//在c语言中,浮点数是用近似值表示,当“==”比较两个浮点数是否相等时,由于存储误差,会得出错误的结果。所以用以下方式判断 if(fabs(a+b-c) <= 1e-5)/... 阅读全文
摘要:
描述国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果把B端接触镜面的话,魔镜会把这条项链变为ABBA。如果再用一端接触的话,则会变成ABBAABBA(假定国王只用项链的某一端接触魔镜)。给定最终的项链,请编写程序输出国王没使用魔镜之前,最初的项链可能的最小长度。输入第一行是一个整数N(N#include #define M 101char s[M];int main(){ int t, n, i, j, sum, min; scanf("%d", &t 阅读全文
摘要:
描述在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3*1的矩形和1个3*2的矩形,总共18个矩形。给出A,B,计算可以从中找到多少个矩形。输入本题有多组输入数据(int main(){ long long a, b, sum;// long long sum; while(scanf("%lld %lld", &a, &b) != EOF){ sum = 1; sum *= a==1?1:(1+a)*a/2; sum *= b==1?1:(1+b)*b/... 阅读全文
摘要:
描述As is known to all,if you throw a coin up and let it droped on the desk there are usually three results. Yes,just believe what I say ~it can be the right side or the other side or standing on the desk, If you don't believe this,just try In the past there were some famous mathematicians working 阅读全文
摘要:
描述2010年上海世界博览会(Expo2010),是第41届世界博览会。于2010年5月1日至10月31日期间,在中国上海市举行。本次世博会也是由中国举办的首届世界博览会。上海世博会以“城市,让生活更美好”(Better City,Better Life)为主题,将充分探索21世纪城市生活。这次世博会总投资达450亿人民币,创造了世界博览会史上的最大规模记录。吸引200个国家和国际组织参展。预计有7000万人次的参观者。为了更好地接待在这期间来自世界各地的参观者,如何合理安排各宾馆的住房问题提到了日程。组委会已接到了大量的客户住宿定单,每张定单的内容包括要住宿的房间数,开始住宿时间和要住的天数 阅读全文
摘要:
描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。 已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。聪明的小明干了一件又一件事,他觉得这个很有意思,就想用计算机来帮助建筑工人统计这些树,现在任务来了,计算将这些树都移走后,马路上还有多少棵树。输入第一行是一个整数N表示有N组测试数据(... 阅读全文
摘要:
描述把分数按下面的办法排成一个数表。1/1 1/2 1/3 1/4.....2/1 2/2 2/3....3/1 3/2 ....4/1..... .........我们以z字型方法给上表的每项编号。特定方法:第一项是1/1,然后是1/2、2/1、3/1、2/2、1/3、1/4、2/3……。编程输入项号N(1 4 int main() 5 { 6 int m, n, sum, i, d; 7 scanf("%d", &m); 8 while(m--){ 9 10 scanf("%d", &n);11 sum = 0;12 ... 阅读全文