自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 收藏
  • 关注

原创 1019 数字黑洞 (20分)

给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 ...

2020-04-23 12:09:35 202

转载 C++ STL标准容器插入删除算法的复杂度

原文:C++ STL标准容器插入删除算法的复杂度(来源flyhorse)1 vector内部实现: 数组 // 就是没有固定大小的数组,vector直接翻译是向量的意思支持操作:begin(), //取首个元素,返回一个iteratorend(), //取末尾(最后一个元素的下一个存储空间的地址)size(), //就是数组大小的意思clear(), //清空empty(), //...

2020-04-21 15:40:29 619

原创 1015 德才论 (25分)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤105),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于 L 的考生才有...

2020-04-21 15:34:45 381

原创 1009 说反话 (20分)

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I Com...

2020-04-20 13:11:39 207

原创 1008 数组元素循环右移问题 (20分)

一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯A**N−1)变换为(A**N−M⋯A**N−1A0A1⋯A**N−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2...

2020-04-20 11:53:47 182

原创 1005 继续(3n+1)猜想 (25分)

卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、...

2020-04-19 18:51:49 78

原创 1003 我要通过! (20分)

“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;如果 aPbT...

2020-04-19 17:14:39 273

原创 1002 写出这个数 (20分)

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10​100​​ 。输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:yi san ...

2020-04-19 15:35:17 104

原创 清华OS前置知识:80386处理器

保护模式在实模式下初始化控制寄存器,如(GDTR,LDTR等)以及页表,然后通过设置CR0寄存器使其中的保护模式使能位置位,进入保护模式,该模式下80386支持优先级机制,不同的程序运行在不同的特权级上,共0~3四个级别,操作系统在最高的特权级0上不同模式下寻址方式:物理地址:内存中的真实地址实模式下逻辑地址:段地址和偏移地址逻辑地址=物理地址,因为此时没有分段或分页机制(所谓的段地址是...

2020-04-12 17:06:21 1498

原创 清华OS前置知识之汇编

ucore用到的AT&T格式的汇编与Intel格式的汇编在语法层面的不同* 寄存器命名原则 AT&T:%eax Intel:eax* 源/目的操作数顺序 AT&T:movl %eax, %ebx Intel:mov ebx, eax AT&T:movl $0xff,%ebx Intel:mov ebx,0ffh 注:AT&T中表...

2020-04-12 14:28:36 205

原创 leetcode-链表十题

总结自:https://www.bilibili.com/video/BV1jt411J7tC19. Remove Nth Node From End of ListGiven linked list: 1->2->3->4->5, and n = 2.After removing the second node from the end, the linked l...

2020-04-02 15:39:30 155

原创 汇编语言(王爽)实验十七

实验十七用面号、磁道号、扇区号访问磁盘不太方便,考虑对它们进行统一编号方法如下,称此编号为逻辑扇区编号逻辑扇区号=(面号*80 + 磁道号)*18 + 扇区号-1反过来面号=int(逻辑扇区号/1440)磁道号=int(rem(逻辑扇区号/1440)/18)扇区号=rem(rem(逻辑扇区号/1440)/18)+1int():取商rem():取余数安装一个新的int 7ch...

2020-03-31 20:48:11 1476 2

原创 汇编语言(王爽)第十七章 使用BIOS进行键盘输入和磁盘读写

第十七章17.1 int 9中断例程对键盘输入的处理一般的键盘输入,在CPU执行完int 9中断例程后,都放到了键盘缓冲区中。键盘缓冲区共有16个字单元。可存储15个按键的扫描码和对应的ASCII码那么它们是如何写入的:初始状态下,没有键盘输入,缓冲区为空(缓冲区是用环形队列结构管理的内存区)按下A,引发键盘中断,CPU执行int 9中断例程,从60h端口读出A键的通码,然后检测状态字...

2020-03-31 20:47:16 1233

原创 汇编语言(王爽)实验十六

实验十六安装一个新发int 7ch中断例程,为显示输出提供如下功能子程序1、清屏2、设置前景色3、设置背景色4、向上滚动一行assume cs:codecode segment start: mov ax,0 mov es,ax mov ax,200h mov di,ax mov ax,cs mov ds,ax mov ax,offse...

2020-03-30 14:21:15 1503 1

原创 汇编语言(王爽)第十六章 直接定址表

第十六章16.1 描述了单元长度的标号之前我们一直在代码段中使用标号来标记指令、数据、段的起始地址assume cs:codecode segment a: db 1,2,3,4,5,6,7,8 b: dw 0 start: mov si,offset a mov bx,offset b mov cx,8 s: mov al,cs:[si] mov ...

2020-03-29 18:15:38 819

原创 VScode通过remote ssh连接虚拟机 & 报错 过程试图写入的管道不存在(已解决)

再次更新,使用几天后发现无法连接虚拟机,vscode配置远程连接失败:过程试图写入的管道不存在查资料后发现可能是因为win10内置的SSH的问题,由于装了Git,且自带ssh,因此可以在环境变量中将win10内置ssh的路径替换为git的这是原本环境变量中路径,将其删除%SYSTEMROOT%\System32\OpenSSH\这是我电脑上git中ssh的路径,添加到环境变量(Path)...

2020-03-28 21:08:39 31581 2

原创 汇编语言(王爽)实验十五

实验十五安装一个新的int 9中断例程 功能:按下A键后,除非不松开,如果松开,就显示满屏幕的A,其他键照常处理assume cs:code stack segment db 128 dup(0)stack ends code segmentstart: mov ax,stack mov ss,ax mov sp,128 push cs ...

2020-03-28 16:31:27 417

原创 汇编语言(王爽)第十五章 外中断

第十五章在计算机系统中,CPU除了能执行指令,进行运算外,还能对外部设备进行控制,接收它们的输入,向它们进行输出,即I/O能力,比如在文本编辑器中,我们按键盘中的一个键,可以看到屏幕上出现该字母,是CPU将从键盘上输入的键对应的字符送到显示器上及时处理外设的输入,有两个问题,即外设的输入随时可能发生,CPU如何得知,以及CPU从何处得到外设的输入以键盘为例进行讨论15.1 接口芯片和端口...

2020-03-28 14:21:07 705

原创 汇编语言(王爽)第十四章 端口&实验十四

第十四章CPU在操控各种存储器时,都把它们当作内存来对待,把它们总地看做一个由若干存储单元组成的逻辑存储器,这个逻辑存储器我们称为内存地址空间PC机中,除了各种存储器外,还有以下3种芯片和CPU通过总线相连1、各种接口卡(网卡、显卡)上的接口芯片,它们控制接口卡进行工作2、主板上的接口芯片,CPU通过它们对部分外设进行访问3、其他芯片,用来存储相关的系统信息,或进行相关的输入输出处理这...

2020-03-26 10:23:36 1070

原创 Linux下gcc的简单使用

一段测试程序hello.c#include<stdio.h>int main(){ printf("hello world\n"); printf("hello gcc\n"); return 0;}gcc -Wall hello.c -o hello该命令将源文件编译机器码存储在为可执行文件中,可执行文件的名字由-o指定如果不用-o指定可...

2020-03-25 22:01:55 666

原创 Linux下vim操作基础

总结自vim入门教程用vim打开文件vim code.c vim的两种模式:命令模式/编辑模式命令模式通过按键 i 转到编辑模式(下方出现INSERT字样)编辑模式通过按键 ESC 转到命令模式(下方INSERT消失)命令模式下按 : 表示要输入命令w表示保存q表示退出wq表示保存并退出**q!**表示强制退出,不保存打开vim的配置文件(~表示根目录 /.表示当前目录)对...

2020-03-25 22:00:12 144

转载 VScode通过remote ssh连接虚拟机

VScode远程开发配置指南视频VScode远程开发配置指南网站来源:www.pypyn.com

2020-03-25 15:20:24 1905

原创 汇编语言(王爽)实验十三

实验十三1、编写并安装int7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处参数:(dh)=行号 (dl)=列好 (cl)=颜色 ds:si指向字符串首地址assume cs:codedata segment db "welcome to masm!",0data endscode segment start: mov dh,10 mov dl,1...

2020-03-22 18:17:11 1350 1

原创 第十三章(王爽) int指令

第十三章int指令引发的中断是另一种内中断13.1 int指令格式:int n,n为中断类型码功能:引发中断过程执行过程:1、取中断类型码n2、标志寄存器入栈,IF=0 TF=03、CS、IP入栈4、(IP)=(n*4)​ (CS)=(n*4+2)从此转去执行n号中断的中断处理程序assume cs:codecode segment start: mov ax,0...

2020-03-21 21:42:23 783

原创 汇编语言(王爽)实验十二

实验十二编写0号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串"divide error!"基本跟课本中的代码一致assume cs:codecode segment start: mov ax,cs mov ds,ax mov si,offset do0 ; 设置ds:si指向源地址 mov ax,0 mov es,ax mov ...

2020-03-20 16:16:09 2662

原创 汇编语言(王爽)第十二章 内中断

第十二章CPU可以在执行完当前正在执行的指令之后,检测到从CPU外部或内部产生的一种特殊信息,并且可以立即对所接收到的信息进行处理,这种特殊的信息称为中断信息,其向所要进行的该种处理提供了必备的参数的通知信息中断:CPU不在接着刚执行完的指令向下执行,而是转去执行这个特殊信息12.1 内中断的产生对于8086CPU,当CPU内部有下面的情况发生的时候,将产生中断信息1、除法错误,比如,执...

2020-03-19 20:56:32 857

原创 汇编语言(王爽)实验十一

实验十一编写一个程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母assume cs:codesgdatasg segment db "Beginner's All-purpose Symbolic Instruction Code.",0datasg endscodesg segment begin: mov ax,datasg mov ds,ax m...

2020-03-18 14:58:07 1563

原创 汇编语言(王爽)第十一章

第十一章8086CPU的标志寄存器(简称flag)有16位,其中存储的信息称为程序状态字(PSW),其作用主要有3个1、存储相关指令的某些存储结果2、为CPU执行相关指令提供行为依据3、控制CPU 的相关工作方式其他寄存器存放数据时,是整个寄存器具有一个含义,而flag寄存器按位起作用,即每一位都有专门的含义,下图为8086CPU的flag寄存器结构某些空白位不具有任何含义11.1...

2020-03-16 15:24:54 1438

原创 汇编语言(王爽)实验十

实验十编写3个子程序1、显示字符串功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串参数:(dh)=行号、(dl)=列号、(cl)=颜色、ds:si指向字符串的首地址行、列从0开始计数如要求在屏幕的8行3列,用绿色显示data段中的字符串assume cs:codedata segment db 'Welcome to masm!',0data endscode s...

2020-03-14 20:12:51 5885 7

原创 体积

题目描述【问题描述】 给出 n 件物品,每件物品有一个体积 V i ,求从中取出若干件物品能够组成的不同的体积和有多少种可能。【输入格式】第 1 行 1 个正整数,表示 n。第 2 行 n 个正整数,表示 V i ,每两个数之间用一个空格隔开。【输出格式】一行一个数,表示不同的体积和有多少种可能。输入输出数据规模】对于 30% 的数据满足:n≤5,V i ...

2020-03-12 14:09:10 995

原创 关于cin/cout/scanf/printf

需要输入输出大量数据时用scanf和printf,速度快,避免超时

2020-03-12 13:37:26 213

原创 汇编语言(王爽)第十章

第十章call和ret都是转移指令,都修改IP或同时修改CS和IP,用于子程序的设计10.1 ret和retfret指令用栈中的数据,修改IP的内容,从而实现近转移retf指令用栈中的数据,修改CS和IP的内容,实现远转移执行ret时:1、(IP)=((ss)*16+(sp))2、(sp)=(sp)+2用汇编语法解释,相当于pop IP执行retf时:1、(IP)=((ss)*...

2020-03-11 20:37:16 766

原创 汇编语言(王爽)实验八&实验九

实验八分析下面的程序,能否正确返回assume cs:codesgcodesg segment mov ax,4c00h int 21h start: mov ax,0 s: nop ; nop占一个字节 nop ; jmp short s1 mov di,offset s mov si,offset s2 mov ax,c...

2020-03-09 17:34:05 788

原创 汇编语言(王爽)第九章

第九章可以修改IP或者同时修改CS和IP的指令统称为转移指令只修改IP的为段内转移,如:jmp ax同时修改CS和IP的为段间转移,如:jmp 1000:0段内转移又分为:短转移和近转移短转移IP的修改范围为-128~127近转IP的修改范围为-32768~327678086转移指令分类· 无条件转移指令(如:jmp)· 条件转移指令· 循环指令(如:loop)· 过程· ...

2020-03-08 21:56:16 683

原创 《MySQL必知必会》第二十八~第三十章

第二十八~第三十章第二十八章MySQL的安全基础是用户不能对过多的数据具有过多的访问权,即需要给用户提供他们所需的访问权,且仅提供他们所需的访问权,这就是访问控制在现实的日常工作中,决不能使用root,应该创建一系列的账号MySQL用户账号和信息存储在名为mysql的MySQL数据库中,在需要获得所有用户账号列表时USE mysql;SELECT user FROM user;my...

2020-03-08 15:11:14 149

原创 汇编语言(王爽)实验七

实验七Power idea公司从1975年到1995年的基本情况如下年份收入(千美元)雇员人均收入(千美元)1975163?1976227?19773829?1978135613?1979239028?1980800038?………………?1995593700017800?程序...

2020-03-07 22:24:35 2983

原创 汇编语言(王爽)第八章

第八章定义描述性符号reg表示一个寄存器,sreg描述一个段寄存器reg:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、disreg:ds、ss、cs、es8.1 bx、si、di和bp在8086CPU中,只有这4个寄存器可以用在[……]中来进行内存单元的寻址下面指令是错误的mov ax,[cx]mov ax,[ax]mov ax,[d...

2020-03-06 21:59:52 2459

原创 汇编语言(王爽)第七章&实验六

汇编语言第七章&实验六7.1 and和or指令and指令,逻辑与指令,按位进行与运算mov al,01100011Band al,00111011B执行后al=00100011B,通过该指令可将操作对象的相应位设为0,其他位不变or指令,逻辑或指令,按位进行或运算mov al,01100011Bor al,00111011B执行后al=01111011B ,通过该指令...

2020-03-02 16:56:53 1663 1

原创 汇编语言(王爽)实验五

实验五1、将下面的程序编译、连接,用Debug加载、跟踪,然后回答问题assume cs:code, ds:data, ss:stackdata segment dw 0123H, 0456H, 0789H, 0abcH, 0defH, 0fedH, 0cbaH, 0987Hdata endsstack segment dw 0,0,0,0,0,0,0,0stack...

2020-02-29 15:34:08 5651 2

原创 汇编语言(王爽)第六章

第六章6.1 在代码段中使用数据编程以下8个数据的和,结果存在ax寄存器中,用循环累加的方式想用循环,就需要把这些数据存储在一组地址连续的内存单元中,之前提到过应该让系统来分配空间,因此我们在程序中定义希望处理的数据,这些数据最终会成为程序的一部分写到可执行文件中,可执行文件加载到内存中后,这些数据便自然获得了存储空间assume cs:codecode segment dw 0...

2020-02-27 22:58:32 701

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除