LOGO
首页 网站广场 站长动态 活跃度榜 全部站长 审核查询 逛逛好站 留言交流 提交申请 关于本站

站长动态

站长动态所展示的是已加入好站网成员站长文章
共同步 2751 篇文章
(每2小时更新一次)
Debug
入驻第1年
【NCRE四级网络工程师】操作系统单选题
在不同类型的操作系统中,批处理操作系统的缺点是: 缺少交互性 页式存储管理方案中,若一个进程的虚拟地址空间为2GB,页面大小为4KB,当用4字节标识物理页号时,页表需要占用多少个页面? 一个进程的虚拟地址空间为2GB,页面大小为4KB,则共有2*1024*1024/4个页表项; 每个页面用4个字节标识物理块号,则需要210241024/4*4大小的页表,由于每个页表为4KB,即2*1024*1024/4*4/(4*1024)=512个页面。 假设某文件由100个逻辑记录组成,每个逻辑记录长度为80个字符。磁盘空间被划分为若干块,块大小为1024字符。在没有采用成组操作时,磁盘空间的利用率为多少? 在没有成组操作时,每一个记录占用一个块,那么磁盘空间的利用率为80/1024=8%. 假设某文件由100个逻辑记录组成,每个逻辑记录文件长度为80个字符。磁盘空间被划分为若干块,块大小为1024个字符。若才作用成组操作,块因子为12,那么磁盘空间的利用率为多少? 若采用成组操作时,每12个记录占用一个块,那么磁盘空间的利用率为80*12/1024=94%。 下列关于死锁与安全状态的描述中,那个事正确的? 死锁状态一定是不安全状态 在可变分区存储管理方案中,为加快内存分配,当采用最佳适应算法时空闲区的组织应该是:按空闲区大小递增顺序排列。 假设某文件系统的物理结构采用类UNIX的二级索引结构。主索引表有12项,前10项给出文件前10块的磁盘地址,第11项给出一级索引表的地址,第12项给出二级索引表的地址。一级和二级索引表的大小均为一个磁盘块,可存放100个磁盘地址。在找到主索引表之后,要访问文件的第1000块,还需要启动多少次磁盘? 1~10块采用的是直接索引,需要启动磁盘1次; 11~110块采用的是一级索引,需要启动磁盘2次; 111~10110块采用的是二级索引,需要启动磁盘3次。 第1000块访问时,找到主索引后,需要启动磁盘2次。 在文件系统中,文件的逻辑块与存储介质上物理块存放顺序一致的物理结构是:顺序结构。 打开文件时,系统主要完成以下工作: ①根据文件路径名查目录,找到FCB主部; ②根据打开方式,共享说明和用户身份检查访问合法性; ③根据文件号查系统打开文件表,看文件是否已被打开; ④在用户打开文件表中取一空表项,填写打开方式等,并指向系统打开文件表对应表项。系统返回用户文件描述符fd,用于以后读写文件。 假设某文件系统的物理结构采用类UNIX的二级索引结构。主索引表有12项,前10项给出文件前10块的磁盘地址,第11项给出一级索引表的地址,第12项给出二级索引表的地址。一级和二级索引表的大小均为一个磁盘块,可存放100个磁盘地址。针对以上描述的文件系统,一个文件最大为多少块 直接索引磁盘块有10个, 采用一级索引的磁盘块有100个, 采用二级索引的磁盘块有100*100个,合计为10000个。 假设某文件系统的物理结构采用类UNIX的二级索引结构。主索引表有12项,前10项给出文件前10块的磁盘地址,第11项给出一级索引表的地址,第12项给出二级索引表的地址。一级和二级索引表的大小均为一个磁盘块,可存放100个磁盘地址。在找到主索引表之后,要访问文件的第1000块,还需要启动多少次磁盘? 110块采用的是直接索引,需要启动磁盘1次;11110块采用的是一级索引,需要启动磁盘2次;111~10110块采用的是二级索引,需要启动磁盘3次。第1000块访问时,找到主索引后,需要启动磁盘2次。 进程从运行态转换为阻塞态的原因是( A )。 A) 需要的数据没有准备好 B) 需要的设备不存在 C) 分配给该进程的时间片用完 D) 运算过程中栈溢出 一个运行着的进程打开了一个新的文件,则指向该文件数据结构的关键指针存放在( D )。 A) 文件目录中 B) 文件句柄中 C) 进程头文件中 D) 进程控制块中 进程控制块中的进程资源清单,列出所拥有的除CPU外的资源记录,如拥有的I/O设备,打开的文件列表等。 在内存分区管理中,下列哪一种技术可以将零碎的空闲区集中为一个大的空闲区( C )。 A) 覆盖技术 B) 交换技术 C) 内存紧缩 D) 动态重定位 解决碎片问题的办法是在适当时刻进行碎片整理,通过移动内存中的程序,把所有空闲碎片合并成一个连续的大空闲区并且放在内存的一端,而把所有程序放在另一端,这技术称为“移动技术”或“紧缩技术”。 在内存分配方案中,下列哪一种方法使内存的利用率较高且管理简单( B )。 A) 段式分配 B) 页式分配 C) 可变分区分配 D) 固定分区分配 页式分配的优点有: ① 由于它不要求作业或进程的程序段和数据在内存中连续存放,从而有效地解决了碎片问题。 ② 动态页式管理提供了内存和外存统一管理的虚存实现方式,使用户可以利用的存储空间大大增加。这既提高了主存的利用率,又有利于组织多道程序执行。 在一个虚拟存储系统中,决定虚拟存储空间最大容量的要素是( A )。 A) 计算机系统地址位宽 B) 计算机系统数据字长 C) 内存和磁盘容量之和 D) 交换空间容量 实现虚拟存储器需要系统有容量足够大的外存、系统有一定容量的外存,最主要的是,硬件提供实现虚-实地址映射的机制。在一个虚拟存储系统中,决定虚拟存储空间最大容量的要素是计算机系统地址位宽。 在虚拟页式存储管理系统中,若采用请求调页方式,当用户需要装入一个新的页面时,其调入的页面来自(磁盘文件区)。 UNIX操作系统中,对文件系统中空闲区的管理通常采用 成组链接法。 对于FAT32文件系统,它采用的是哪一种文件物理结构 链接结构。 关于操作系统的结构,下列特性中,哪一个不是微内核结构的特点(清晰的单向依赖和单向调用性)。 程序局部性原理分为空间局部性和时间局部性,空间局部性是指(程序代码的顺序性)。 程序的并发执行产生了一些和程序顺序执行时不同的特性(并发程序与计算过程无法一一对应)。 在Pthread线程包关于条件变量的使用中,pthread_mutex_init()表示的是(创建一个互斥量)。 init是初始化变量,和git操作初始化一致,小技巧 程序的并发执行产生了一些和程序顺序执行时不同的特性,下列哪一个特性是正确的(并发程序在执行期间具有相互制约关系)。 为了保证计算机中临界资源的正确使用,进程在对临界资源访问前,必须首先调用下列哪一区的代码( 进入区 )。 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
【NCRE四级网络工程师】操作系统多选题
保存在进程控制块中的是 进程标识符 进程当前状态 代码段指针 PCB的内容可以分为调度信息和现场信息两大部分。调度信息供进程调度时使用。调度信息供进程调度时使用,描述了进程当前所处的状态,包括进程名、进程号、存储信息、优先级、当前状态、资源清单、家族关系、消息队列指针、当前打开文件等。 下列关于地址映射的叙述中,正确的是: 地址映射过程通常是有硬件完成的; 地址映射是将虚拟地址转换为物理地址; 页表项的一些内容是由硬件决定的; 根据页表项的有效位确定所需访问的页面时都已经在内存。 下列对于块表的叙述中,正确的是: 块表的另一个名称是TLB 当切换进程时,要刷新快表; 快表存放在高速缓存中; 对块表的查找是按内容并行进行的。 下列各项中,那些事文件控制块中必须保存的信息? 文件名 文件大小 文件创建时间 磁盘块起始地址 文件控制块FCB包括:文件名、用户名、文件号、文件地址、文件长度、文件类型、文件属性、共享技术、文件的建立日期、保存期限、最后修改日期、最后访问日期、口令、文件文件物理结构等等。 设计文件系统时应尽量减少访问磁盘的次数,以提高文件系统的性能。下列各项措施中,哪些可以提高文件系统的性能? 块高速缓存 磁盘驱动调度 目录项分解法 设备与CPU之间的数据传送和控制方式有多种,他们是: 程序直接控制方式 中断控制方式 DMA方式 通道控制方式 当前测到系统发生死锁之后,解除死锁的方法是? 剥夺某些进程所占有的资源; 撤销某些进程 从新启动系统 测试与设置指令(Test&Set)是解决互斥访问临界区的硬件方法。下列关于该指令功能的叙述中,哪些是正确的 A) 测试W的值,若W=1,则返回重新测试 B) 测试W的值,若W=0,置位W=1,进入临界区 C) 退出临界区时,复位W=0 TS指令实现互斥的算法是:测试锁变量的值,如为1,则重复执行本命令,不断重复测试变量的值;如为0,则立即将锁变量测值置为1,进入临界区;测试并设置指令是一条完整的指令,而在一条指令的执行中间是不会被中断的,保证了锁的测试和关闭的连续性;退出临界区时,将锁变量测试值设为0。 下列关于虚拟存储器的叙述中,哪些是正确的? 在虚拟存储系统中,进程的部分程序装入后便可运行 虚拟存储技术允许用户使用比物理内存更大的存储空间 实现虚存必须有硬件支持 段页式存储管理为用户提供了一个二维地址空间,满足程序和信息的逻辑分段的要求。其基本思想是用页式方法来分配和管理内存空间,即把内存划分为若干大小相等的页面。内存是以页为基本单位分配给每个用户程序的,逻辑上相邻的页面在物理内存中不一定相邻。内存空间最小的单位是页而不是段。页式存储管理的特征是等分内存,有效的克服了碎片,提高了存储器的利用率。 下列文件的物理结构中,哪些结构适合文件的随机存取 连续结构 索引结构 多级索引结构 在程序控制I/O方式中,若输出设备向处理机返回“准备就绪”信号,则表示()。 输出缓冲区已空 可以向输出缓冲区写数据 在设备分配中,预防死锁的策略包括()。 A) 建立SPOOLing系统 B) 一次分配所有资源 C) 有序分配资源 D) 剥夺其他进程的资源 在设计系统时确定资源分配算法,限制进程对资源的申请,从而保证不发生死锁。具体的做法是破坏产生死锁的四个必要条件之一: ①破坏“互斥条件”:可以通过采用假脱机(SPOOLing)技术,允许若干个进程同时输出; ②破坏“不可剥夺”条件:如果资源没有被等待进程占有,那么该进程必须等待,在其等待过程中,其资源也有可能被剥夺; ③破坏“请求和保持”条件:可以采用静态分配资源策略,将满足进程条件的资源一次性分配给进程,也可以采用动态资源分配,即需要资源时才提出申请,系统在进行分配; ④破坏“循环等待”条件:进程申请资源时,必须严格按照资源编号的顺序进行,否则系统不予分配。 下列关于进程的叙述中,哪些是正确的( BC )。 A) 一个进程的状态变化必定会引起另一个进程的状态变化 B) 信号量的初值一定大于等于零 C) 进程是资源分配的基本单位,线程是处理机调度的基本单位 D) 进程被挂起后,它的状态一定为阻塞态 E) 操作系统中引入P、V操作主要是为了解决死锁问题 在下列存储管理方案中,能支持多道程序设计的是( )。 A) 可变分区存储管理 B) 页式存储管理 C) 单一分区存储管理 D) 固定分区存储管理 E) 段页式存储管理 单一分区存储器管理,只充许一道程序独占内存空间,因此不能支持多道程序设计技术。 在计算机系统中,形成死锁的必要条件是( ABCD )。 A) 资源互斥使用 B) 部分分配资源 C) 已分配资源不可剥夺 D) 资源申请形成环路 E) 系统资源不足 当前Android操作系统应用广泛,它具有下列哪些特性( BC )。 A) 批处理 B) 移动应用 C) 支持网络 D) 分布式 E) 兼容性 下列关于进程控制块的叙述中,哪些是正确的( ABC )。 A) 进程控制块的英文缩写是PCB B) 每个进程都拥有自己的进程控制块 C) 进程控制块必须常驻内存 D) 进程控制块必须指明其兄弟进程的进程号 E) 进程创建完毕后,系统将其进程控制块插入等待队列 下列关于信号量使用的叙述中,哪些是正确的( ABD )。 A) 信号量初始化后,只能实施P、V原语操作 B) 在互斥信号量与同步信号量都使用的进程中,应先执行同步信号量的P操作 C) 在互斥信号量与同步信号量都使用的进程中,应先执行同步信号量的V操作 D) 信号量的初值不能小于0 E) 互斥信号量的变化范围只能是正整数 下列页面置换算法中,哪些算法需要用到访问位(引用位)( CDE )。 A) 先进先出算法FIFO B) 最佳置换算法OPT C) 最近最久未使用算法LRU D) 时钟算法CLOCK E) 最近未使用算法NRU 从简单页式存储管理方案发展到虚拟页式存储管理方案,页表项中通常需要增加的信息有:有效位,修改位,访问位。 SPOOLing系统的主要组成部分是( ABC )。 A) 输入井和输出井 B) 输入缓冲区和输出缓冲区 C) 输入进程和输出进程 D) 输入控制器和输出控制器 E) 输入分配器和互斥分配器 下列关于死锁的叙述中,哪些是正确的( ABC )。 A) 死锁产生的原因是进程推进顺序不当 B) 环路是死锁产生的必要条件 C) 采用银行家算法能有效地实现死锁避免 D) 当系统中只有一个进程时也可能会产生死锁 E) 系统出现死锁是因为进程调度不当 进程(线程)调度的主要功能有( ABCD )。 A) 根据一定的调度算法选择被调度的进程(线程) B) 将CPU分配给选中的进程(线程) C) 将换下CPU的进程(线程)的现场信息保存到进程控制块中 D) 将选中的进程(线程)的现场信息送入到相应寄存器中 E) 将阻塞的进程(线程)唤醒并置为就绪状态 下列哪一种存储管理方案以一个进程为单位分配一组连续的内存单元( AB )。 A) 固定分区 B) 可变分区 C) 页式 D) 段式 E) 段页式 在虚拟页式存储方案中,当判断一个页面是否已调入内存时需要用到页表表项的哪些位( AB )。 A) 驻留位 B) 中断位 C) 修改位 D) 访问位 E) 保护位 下列哪些文件是按照文件的组织形式划分的文件类型( BDE )。 A) 系统文件 B) 普通文件 C) 临时文件 D) 目录文件 E) 特殊文件 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
【NCRE四级网络工程师】计算机网络单选题
如果交换机的总带宽为14.4Gbps,它具有12个百兆的全双工端口,则其千兆的全双工端口数量最多为? 全双工交换机的带宽计算方法是:端口数端口速率2。 12个百兆的全双工端口占用的带宽为122100=2400 Mbps,则剩余带宽 为14400-2400=12000Mbps。用于千兆的全双工端口,则12000/(2*1000)=6。 Ethernet网卡使用的物理地址的长度为(48位)。 每个物理网络都有自己的MTU,MTU主要规定:一个帧最多能够携带的数据量 在客户机/服务器模型中,服务器响应客户机的请求有两种实现方案,它们是并发服务器方案和(重复服务器)。 在DNS系统中,如果解析器收到一条“非授权的”服务器响应,那么解析器可以认为(该响应提供的信息可能不准确)。 在POP3协议中,查询报文总数和长度可以使用的命令为(STAT)。 关于即时通信系统的描述中,正确的是(RFC2778规定了其通讯模型)。 即时通信IM是一种基于Internet的通信服务,由以色列Mirabils公司最早提出,它提供近实时的信息交换和用户状态跟踪。文件 RFC2778,描述了即时通信系统的功能,正式为即时通信系统勾勒出了模型框架。IM系统一般采用两种通信模式,一种是客户机/服务器模式,另一种采用用户/用户模式,IM软件的文本消息大多使用客户机/服务器模式,而文件传送等大数据量业务使用的是用户/用户模式。在聊天通信中,聊天信息通过加密的方式传输。 关于即时通信协议的描述中,正确的是(XMPP基于JABBER)。 目前,很多即时通信系统都采用服务提供商自己设计开发的IM协议,如微软MSN采用自己的MSNP协议,AOL采用OSCAR协议,QQ采用自己的私有 协议。目前IM通用的协议主要由两个代表:基于SIP协议框架的SIMPLE协议簇及基于Jabber协议框架的XMPP协议簇。SIP协议称为会话发起协议,它是一种在IP网络上实现实时通信的应用层的控制(信令)协议。 即时通信系统通常需要支持两种基本的服务,它们是:呈现服务和即时消息服务 关于P2P文件共享系统的描述中,错误的是(A)。 A) BitTorrent不使用Tracker服务器 B) Maze系统含有搜索引擎 C) 早期的Napster是一个音乐分享系统 D) eDonkey2000采用哈希信息进行文件定位 BitTorrent协议要求文件的发布者制作一个.torrent文件,被称为“种子”文件,种子文件中包含了Tracker服务器的相关信息和发布者共享的 文件的信息。 搜索引擎主要由4个关键部分组成,它们是搜索器、检索器、用户接口和(索引器)。 利用公钥加密和数字签名技术建立的安全服务基础设施称为(PKI)。 关于对称加密的描述中,正确的是(C)。 A) 加密密钥与解密密钥不同 B) 加密算法与密钥可以公开 C) DES属于对称加密方法 D) DSA属于对称加密方法 对称加密技术使用相同的密钥对信息进行加密和解密。由于通信双方加密与解密使用同一个密钥,所以密钥在加密方和解密方之间的传递和分发必须通过安全通道进行。常用的对称加密算法有DES(数字加密算法)、IDEA算法、RC2算法、RC4算法与Skipjack算法等。 关于MD5的描述中,错误的是(C)。 A) 是一种单向散列函数 B) 可用于判断数据完整性 C) 属于对称加密方法 D) 不能从散列值计算出原始数据 散列函数MD5属于一种认证函数,不属于对称加密方法。 关于P2P文件共享的描述中,正确的是(理论基础是六度分割)。 **P2P文件共享的基础是“六度分割”理论。**一般认为P2P文件共享起源于Napster,采用集中式结构,利用 点对点下载过程下载软件,随后另一种P2P文件共享网络Gnutella出现,采用分布式网络共享。BitTorrent即比特洪流,种子文件的扩展名为.torrent。 在网络管理服务中,定义管理对象结构的是(管理信息库(MIB))。 管理信息库(MIB)是TCP/IP网络管理协议标准框架的内容之一,MIB定义了受管设备必须保存的数据项、允许对每个数据 项进行的操作及其含义,即管理系统可访问的受管设备的控制和状态信息等数据变量都保存在MIB中。所以在网络管理服务中,定义管理对象结构的是MIB。 关于CMIP协议的描述中,正确的是()。 A) 由IETF制定 B) 针对TCP/IP环境 C) 是网络管理的事实标准 D) 采用委托监控机制 国际标准化组织(ISO)最先在1979年对网络管理通信进行标准化工作,主要针对OSI(开放系统互联)模型而设计。ISO的成果是CMIS和CMIP。 CMIP提供管理信息传输服务的应用层协议,而CMIS支持管理进程和管理代理之间的通信要求,二者规定了OSI系统的网络管理标准。在网络管理过程中,CMIP不是通过轮询而是通过事件报告进行工作的。 瓦特斯利用电子邮件验证“小世界假设”理论时,邮件平均被转发多少次即可到达接收者手中(6)。 IP数据报是IP协议单元使用的数据单元,它的格式可以分为报头区和数据区两大部分,其中数据区包括高层需要传输的数据,而报头区是为了正确传输高层数据而增加的控制信息。 在域名系统中,解析器收到一个“非权威性”的映射时,解析器可以认为(响应服务器不是该域名的授权管理者)。 如果一个IP数据报的报头长度为256b,那么该数据报报头长度字段的值为( 8 )。 头部的IHL域指明了该头部有多长(以32位字的长度为单位),所以256/32=8。 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
【NCRE四级网络工程师】计算机网络多选题
在以下几种帧中,属于IEEE 802.11管理帧的是(BC)。 A) 信标帧 B) 探测帧 C) 认证帧 D) RTS帧 E) ACK帧 属于IEEE 802.11管理帧的是探测帧和认证帧。 关于千兆以太网物理层标准的描述中,错误的是(ABE)。 A) 1000Base-T使用屏蔽双绞线 B) 1000Base-CX使用非屏蔽双绞线 C) 1000Base-LX使用单模光纤 D) 1000Base-SX使用多模光纤 E) 1000Base-W使用无线传输介质 1000Base-T使用5类非屏蔽双绞线作为传输介质,双绞线长度可达100m。1000Base-CX使用的是屏蔽双绞线,双绞线长度可达25m。 1000Base-LX使用波长为1300nm的单模光纤,光纤长度可达3000m。1000Base-SX使用波长为250nm的多模光纤,光纤长度可达300~500m。 千兆类型以太网中没有1000Base-W类型。 关于Internet接入方式的描述中,正确的是(ACD)。 A) HFC采用共享信道传输方式 B) HFC发展与电话网普及密不可分 C) ADSL需要进行调制解调 D) ADSL 的上、下行速率可以不同 E) HFC的上、下行速率必须相同 Internet的接入方式主要有4种:通过电话线网接入、利用ADSL(非对称数字用户线路)接入、使用HFC(混合光纤同轴电缆网)接入、通过数据通信线路接入。 HFC是在有线电视网的基础上发展起来的。与ADSL类似,HFC也采用非对称的数据传输速率。一般的上行速率在10Mbps左右,下行速率在10~40Mbps左右。HFC采用共享式的传输方式,所有通过Cable Modem的发送和接收使用同一个上行和下行信道。 在ADSL用户端,用户需要使用一个ADSL终端(传统的调制解调器类似)来连接电话线路。通常ADSL可以提供最高1Mbps的上行速率和最高8Mbps的下行速率。 为了解决慢收敛问题,RIP协议可以采用的策略为(BDE)。 A) 加密传输 B) 水平分割 C) 用户认证 D) 毒性逆转 E) 触发刷新 为了解决慢收敛问题,RIP协议采用限制路径最大“距离”对策、水平分隔对策、保持对策、带触发刷新的毒性逆转对策。 在VoIP系统中,网关的主要功能包括()。 A) 号码查询 B) 信号调制 C) 路由寻址 D) 呼叫控制 E) 身份验证 IP电话网关位于公用交换电话网与IP网的接口处,它是电话用户使用IP电话的接入设备。它的主要功能为号码查询、建立通信连接、信号调制、信号压缩和解压、路由寻址。 网络故障管理的功能主要包括(ABD)。 A) 维护错误日志 B) 执行诊断检测 C) 生成用户账单 D) 跟踪错误 E) 发布安全事件报告 网络故障管理包括检测故障、隔离故障和纠正故障3个方面,应包括典型的功能有维护并检测错误日志、接收错误检测报告并作出响应、跟踪与辨认错误、执行诊断测试、纠正错误。 关于IPSec的描述中,正确的是(ABDE)。 A) 在网络层提供安全服务 B) 主要协议包括AH和ESP C) SPI使用64位连接标识符 D) AH头位于原IP数据报数据和IP头之间 E) SA定义的逻辑连接是单向的 关于无线局域网的描述中,正确的是()。 A) 以无线电波作为传输介质 B) 协议标准是IEEE 802.11 C) 可采用直接序列扩频技术 D) 可作为有线局域网的补充 无线局域网络利用微波、激光和红外线等无线电波作为传输介质,它是有线局域网的补充。按采用的传输技术可以分为3类:红外线局域网、扩频局域网(调频扩频或直接序列扩频)、窄带微波局域网,采用IEEE 802.11标准,支持基于漫游访问(Nomadic Access)和无线访问接入点(Wireless Access Point,AP)访问模式。 在以下P2P网络中,哪些采用了分布式结构化拓扑()。 Pastry Tapestry Chord CAN P2P中采用了分布式结构化拓扑有Pastry、Tapestry、Chord和CAN,Napster采用集中式结构。 关于RSA算法的描述中,正确的是()。 A) 安全性建立在大素数分解的基础上 B) 常用于数字签名中 C) Rivest是发明人之一 E) 加密强度取决于密钥长度 RSA公钥加密算法是1977年由罗纳德•李维斯特(Ron Rivest)、阿迪•萨莫尔(Adi Shamir)和伦纳德•阿德曼(Leonard Adleman)一起提出的一种公钥密码,也是一种分组密码,也是一种既能用于数据加密和数字签名的算法,RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明。RSA密钥长度随着保密级别提高,增加很快。 在Internet中,IP路由器应具备的主要功能包括( ABD )。 A) 转发所收到的IP数据报 B) 为投递的IP数据报选择最佳路径 C) 分析IP数据报所携带的TCP内容 D) 维护路由表信息 E) 解析用户的域名 路由器是Internet种最重要的设备,它是网络与网络之间连接的桥梁。它主要的功能是:维护路由表信息(路由表决定着IP数据报发往何处),转发所收到的IP数据报,为投递的IP数据报选择最佳路径。 在IP数据报分片后,分片报头中的哪些字段与原数据报中的字段一定相同( AC )。 A) 标识 B) 标志 C) 目的地址 D) 片偏移 E) 头部校验和 提高域名系统解析效率的技术包括( ADE )。 A) 解析从本地域名服务器开始 B) 减小资源记录的TTL值 C) 拒绝使用”非权威性的”映射报告 D) 本地主机上采用高速缓冲技术 E) 域名服务器中使用高速缓冲技术 关于Ethernet帧结构的描述中,错误的是( ABCD )。 A) 前导码字段的长度是1字节 B) 源地址字段使用的是IP地址 C) 数据字段的最小长度为64字节 D) 类型字段指出应用层协议类型 E) 帧校验字段采用的是CRC校验 关于VLAN技术的描述中,正确的是( BCDE )。 A) 可利用集线器组建VLAN B) 可基于广播组定义VLAN C) 可基于IP地址划分VLAN D) 可基于MAC地址划分VLAN E) 可基于交换机端口划分VLAN 关于浏览器安全性的描述中,正确的是( BD )。 A) 为了避免非安全软件的危害,可在浏览器中加载自己的证书 B) 为了验证站点的真实性,可要求站点将它的证书传送过来 C) 为了避免他人假冒自己,可将Internet分成几个区域 D) 为了避免传送过程中第三方偷看,可使用SSL技术 E) 为了防止传送过程中第三方篡改,可使用base64编码技术 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
数据仓库与数据挖掘 - 大数据在SEO网站优化领域的具体应用案例
当今互联网行业中,大大小小几百万公司成立,相对而来的就是成百上千的官方网站的陆续建立,但是怎样使自己公司的官网在百度、谷歌、必应等大牌搜索引擎中被收录,同时提高公司官网访问数量及知名度? 提高官网服务质量是第一位的,但是还需要对网站做SEO优化,但是怎样做SEO优化? 大公司的SEO优化都是形成体系的,提高网站的被搜索权重,同时增加特色关键字,增加网站访问量、加大网站被搜索引擎的索引等等方式。 作为一个计算机系的学生,对CSDN网站的需求量在浏览器中算是有着比较大的权重,接下来我借用CSDN网站的大数据网站分析,通过站长之家平台数据进行阐述个人对于大数据在SEO优化领域的具体应用。 上图是通过站长平台获取的对程序员网站CSDN的搜索排名,可以从图中得知CSDN占中文网站排名158、技术编程排名3、北京市排名85、百度权重6、Google权重7、反链数:4278,可以看出,此网站网络排名是较同等网站排名还是比较靠前的,同时由上图可以看到整站日均IP访问量达到100万响应之多,其数据承载量及SEO优化量还是比较大的。 上图可以看到CSDN中网站百度流量统计达到了1万2900,同时网站关键词库有着6196的热门关键词,其中索引量达到了234万7195,可见网站索引量都是比较大额的。 接下来我们看一下网站的收录及反链情况,见下图: 收录:百度占155万、谷歌占62万、360占140万、搜狗占341万; 反链:百度占171万、谷歌占3万左右、360占416万。 上图可以看到CSDN网站的热门标题及优化建议,CSDN全程“CSDN-专业IT技术社区”,这一标题占据着网站整体SEO关键词搜索,其中站长之家提供了对搜索的优化建议:一般不超过80个字符,这样来说对搜索引擎来说是比较友好的,便于搜索引擎的搜录及索引。 通过站长之家云平台可以看到,CSDN的百度权重走势、Alexa排名趋势、百度收录量变化趋势、整体来看,CSDN网站数据流量是稳步上升,众所周知,CSDN的文章来源至中国绝大部分程序员的技术经验及感受等文章,并呈现稳步增长趋势。 CSDN网站的关键词由上图可以看到主要是技术类的关键字,例如“HTTP、a-b、或与非、程序、下载”等关键词,这些词索引量搜录量都在100000000之中。 根据CSDN网站得出SEO优化的途径,主要优化来源有以下几点: 主动使网站让百度、Google、必应、360搜索引擎索引; 用户数量提升、访问数量提升,基数做大,访问量才会稳定; 关键词尽量不要和大牌网站关键词冲突,发掘新颖关键词; 升级网站为HTTPS协议,使网站安全且不会被挂马; 必要时购买百度、360权重,提升搜索时展示位置; 购买信用产品,提升网站信用值,吸引浏览者访问; 适当做网站分享,引流,提升访问量; 搜索体验及用户体验优化。 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
阿川
入驻第1年
电信用户投诉攻略
阿川
入驻第1年
(转)微不足道的坚持
阿川
入驻第1年
Redis 笔记(安装与数据类型)
阿川
入驻第1年
Cmd 笔记
Debug
入驻第1年
蓝桥杯 基础练习 阶乘计算
问题描述 输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。 输入格式 输入包含一个正整数n,n<=1000。 输出格式 输出n!的准确值。 样例输入 10 样例输出 3628800 C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 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 #include <stdio.h> #include <string.h> #define MAX 10000 #define mod 10000 #define baselen 4 #define in(a) scanf("%d",&a) #define out1(a) printf("%d",a) #define out2(a) printf("%04d",a) typedef int type; struct bint{ type dig[MAX], len; bint(){len = 0, dig[0] = 0;} }; void by(bint a, type b, bint& c){ type i, carry; for( i = carry = 0; i <= a.len || carry; i++){ if( i <= a.len ) carry += b*a.dig[i]; c.dig[i] = carry%mod; carry /= mod; } i--; while( i && !c.dig[i] )i--; c.len = i; } bool input(bint& a){ type i, j, w, k, p; char data[MAX*baselen+1]; if(scanf("%s",data)==EOF)return false; w = strlen(data) - 1, a.len = 0; for(p=0;p<=w&&data[p]=='0';p++); while(1){ i = j = 0, k = 1; while(i<baselen&&w>=p){ j = j+ (data[w--] - '0')*k; k *= 10, i++; } a.dig[a.len++] = j; if(w<p)break; } a.len--; return true; } void output(bint& a){ type i; i = a.len - 1; out1(a.dig[a.len]); while(i>=0)out2(a.dig[i--]); } void give(type a, bint& b){ b.dig[0] = a%mod; a /= mod; if(a>0)b.dig[1] = a, b.len = 1; else b.len = 0; } int main() { bint a;int b,i;scanf("%d",&b);give(1,a); for(i=2;i<=b;i++)by(a,i,a); output(a);printf("\n"); return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 基础练习 高精度加法
问题描述 输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。 定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样可以用一个数组B来存储b。 计算c=a+b的时候,首先将A[0]与B[0]相加,如果有进位产生,则把进位(即和的十位数)存入r,把和的个位数存入C[0],即C[0]等于(A[0]+B[0])%10。然后计算A[1]与B[1]相加,这时还应将低位进上来的值r也加起来,即C[1]应该是A[1]、B[1]和r三个数的和.如果又有进位产生,则仍可将新的进位存入到r中,和的个位存到C[1]中。依此类推,即可求出C的所有位。 最后将C输出即可。 输入格式 输入包括两行,第一行为一个非负整数a,第二行为一个非负整数b。两个整数都不超过100位,两数的最高位都不是0。 输出格式 输出一行,表示a+b的值。 样例输入 1 2 20100122201001221234567890 2010012220100122 样例输出 1 20100122203011233454668012 C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 #include <cstdio> #include <iostream> #include <cstring> using namespace std; int a[401], alen, b[401], blen, c[400], clen; char st[400]; int main() { int i, j, n, len; scanf( "%s", st ); alen = strlen( st ); for ( i = 1; i <= alen; i++ ) a[i] = st[alen - i] - 48; scanf( "%s", st ); blen = strlen( st ); for ( i = 1; i <= blen; i++ ) b[i] = st[blen - i] - 48; if ( alen > blen ) clen = alen; else clen = blen; for ( i = 1; i <= clen; i++ ) c[i] = a[i] + b[i]; for ( i = 1; i <= clen; i++ ) { if ( c[i] >= 10 ) { c[i + 1] = c[i + 1] + c[i] / 10; c[i] = c[i] % 10; } } if ( c[clen + 1] > 0 ) clen++; for ( i = clen; i >= 1; i-- ) { printf( "%d", c[i] ); } printf( "\n" ); return(0); } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 基础练习 Huffuman树
问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0,p1, …,pn-1},用这列数构造Huffman树的过程如下: 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa+pb。 重复步骤1,直到{pi}中只剩下一个数。 在上面的操作过程中,把所有的费用相加,就得到了构造Huffman树的总费用。 本题任务:对于给定的一个数列,现在请你求出用该数列构造Huffman树的总费用。 例如,对于数列{pi}={5, 3, 8, 2, 9},Huffman树的构造过程如下: 找到{5, 3, 8, 2, 9}中最小的两个数,分别是2和3,从{pi}中删除它们并将和5加入,得到{5, 8, 9, 5},费用为5。 找到{5, 8, 9, 5}中最小的两个数,分别是5和5,从{pi}中删除它们并将和10加入,得到{8, 9, 10},费用为10。 找到{8, 9, 10}中最小的两个数,分别是8和9,从{pi}中删除它们并将和17加入,得到{10, 17},费用为17。 找到{10, 17}中最小的两个数,分别是10和17,从{pi}中删除它们并将和27加入,得到{27},费用为27。 现在,数列中只剩下一个数27,构造过程结束,总费用为5+10+17+27=59。 输入格式 输入的第一行包含一个正整数n(n<=100)。 接下来是n个正整数,表示p0,p1, …,pn-1,每个数不超过1000。 输出格式 输出用这些数构造Huffman树的总费用。 样例输入 1 2 5 5 3 8 2 9 样例输出 59 C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include<iostream> #include<queue> using namespace std; priority_queue<int, vector<int>, greater<int> > pq; //构造从小到大的优先队列 int main() { int n; cin >> n; while (!pq.empty()) pq.pop(); int x, s; for (int i = 0; i < n; i++) { cin >> x; pq.push(x); } int sum = 0; while (pq.size() > 1) { s = pq.top(); pq.pop(); s += pq.top(); pq.pop(); sum += s; pq.push(s); } cout << sum << endl; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 基础练习 2n皇后问题
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。 输入格式 输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放皇后。 输出格式 输出一个整数,表示总共有多少种放法。 样例输入 1 2 3 4 5 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 样例输出 2 样例输入 1 2 3 4 5 4 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 样例输出 0 C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 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 68 69 #include<cstdio> using namespace std; int n; int sum; bool g[9][9]; bool wh[9]; bool wd[17]; bool wu[17]; bool bh[9]; bool bd[17]; bool bu[17]; void white(int h){ if(h==n){ sum++; }else{ for(int i=0;i<n;i++){ if(!g[h][i])continue; if(wh[i])continue; if(wd[i+h])continue; if(wu[(i-h)+n])continue; wh[i]=wd[i+h]=wu[(i-h)+n]=1; white(h+1); wh[i]=wd[i+h]=wu[(i-h)+n]=0; } } } void black(int h){ if(h==n){ white(0); }else{ for(int i=0;i<n;i++){ if(!g[h][i])continue; if(bh[i])continue; if(bd[i+h])continue; if(bu[(i-h)+n])continue; g[h][i]=0; bh[i]=bd[i+h]=bu[(i-h)+n]=1; black(h+1); g[h][i]=1; bh[i]=bd[i+h]=bu[(i-h)+n]=0; } } } int main(){ int i; int x; sum=0; scanf("%d",&n); for(i=0;i<n;i++){ wh[i]=bh[i]=0; wd[i]=bd[i]=0; wu[i]=bu[i]=0; for(int j=0;j<n;j++){ scanf("%d",&x); g[i][j]=(bool)x; } } for(;i<2*n;i++){ wd[i]=bd[i]=0; wu[i]=bu[i]=0; } black(0); printf("%d\n",sum); return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 基础练习 报时助手
问题描述 给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o’clock”,如3:00读作“three o’clock”。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。 时和分的读法使用的是英文数字的读法,其中0~20读作: 0:zero, 1: one, 2:two, 3:three, 4:four, 5:five, 6:six, 7:seven, 8:eight, 9:nine, 10:ten, 11:eleven, 12:twelve, 13:thirteen, 14:fourteen, 15:fifteen, 16:sixteen, 17:seventeen, 18:eighteen, 19:nineteen, 20:twenty。 30读作thirty,40读作forty,50读作fifty。 对于大于20小于60的数字,首先读整十的数,然后再加上个位数。如31首先读30再加1的读法,读作“thirty one”。 按上面的规则21:54读作“twenty one fifty four”,9:07读作“nine seven”,0:15读作“zero fifteen”。 输入格式 输入包含两个非负整数h和m,表示时间的时和分。非零的数字前没有前导0。h小于24,m小于60。 输出格式 输出时间时刻的英文。 样例输入 0 15 样例输出 zero fifteen C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 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 #include <iostream> #include <string> #include <map> using namespace std; int main(int argc, char** argv) { map<int,string> maptime; maptime[0]="zero"; maptime[1]="one"; maptime[2]="two"; maptime[3]="three"; maptime[4]="four"; maptime[5]="five"; maptime[6]="six"; maptime[7]="seven"; maptime[8]="eight"; maptime[9]="nine"; maptime[10]="ten"; maptime[11]="eleven"; maptime[12]="twelve"; maptime[13]="thirteen"; maptime[14]="fourteen"; maptime[15]="fifteen"; maptime[16]="sixteen"; maptime[17]="seventeen"; maptime[18]="eighteen"; maptime[19]="nineteen"; maptime[20]="twenty"; maptime[30]="thirty"; maptime[40]="forty"; maptime[50]="fifty"; int h,m; cin>>h>>m; if(m==0) { if(h<=20) { cout<<maptime[h]<<" o'clock"; } else { cout<<maptime[20]<<" "<<maptime[h-20]<<" o'clock"; } } else { if(h<=20) { cout<<maptime[h]<<" "; } else { cout<<maptime[20]<<" "<<maptime[h-20]<<" "; } if(m<=20) { cout<<maptime[m]<<" "; } else { int k=m%10; cout<<maptime[m-k]<<" "<<maptime[k]<<" "; } } return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 基础练习 回形取数
问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。 输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。 输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。 样例输入 1 2 3 4 3 3 1 2 3 4 5 6 7 8 9 样例输出 1 2 3 1 4 7 8 9 6 3 2 5 样例输入 1 2 3 4 3 2 1 2 3 4 5 6 样例输出 1 3 5 6 4 2 C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 #include<stdio.h> int main() { int m,n; scanf("%d %d",&m,&n); int s[200][200]; int a[200][200]; int i,j; for(i=0;i<m;i++) for(j=0;j<n;j++) { scanf("%d",&s[i][j]); a[i][j]=-1; } int k=0,b=m-1,c=n-1; int h=0; for(i=j=h;a[i][j]==-1&&k<=m*n;) { if(k<m*n) printf("%d ",s[i][j]); else printf("%d",s[i][j]); k++; a[i][j]=0; if(i<b&&a[i+1][j]==-1&&j==n-1-c) { i++; continue; } if(i==b&&a[i][j+1]==-1) { j++; continue; } if(j==c&&a[i-1][j]==-1) { i--; continue; } if(i==m-1-b&&a[i][j-1]==-1) { j--; continue; } i=j=(++h); b--;c--; } return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 基础练习 龟兔赛跑预测
问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。   然而有些比赛相当漫长,全程观看会耗费大量时间,而小华发现只要在每场比赛开始后记录下兔子和乌龟的数据——兔子的速度v1(表示每秒兔子能跑v1米),乌龟的速度v2,以及兔子对应的t,s值,以及赛道的长度l——就能预测出比赛的结果。但是小华很懒,不想通过手工计算推测出比赛的结果,于是他找到了你——清华大学计算机系的高才生——请求帮助,请你写一个程序,对于输入的一场比赛的数据v1,v2,t,s,l,预测该场比赛的结果。 输入格式 输入只有一行,包含用空格隔开的五个正整数v1,v2,t,s,l,其中(v1,v2<=100;t<=300;s<=10;l<=10000且为v1,v2的公倍数) 输出格式 输出包含两行,第一行输出比赛结果——一个大写字母“T”或“R”或“D”,分别表示乌龟获胜,兔子获胜,或者两者同时到达终点。 第二行输出一个正整数,表示获胜者(或者双方同时)到达终点所耗费的时间(秒数)。 样例输入 10 5 5 2 20 样例输出 1 2 D 4 样例输入 10 5 5 1 20 样例输出 1 2 R 3 样例输入 10 5 5 3 20 样例输出 1 2 T 4 C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #include<cstdio> #include<iostream> using namespace std; int main() { int v1,v2,t,s,L,L1=0,L2=0,ans=0,i,j; bool bk=true; scanf("%d%d%d%d%d",&v1,&v2,&t,&s,&L); while(1) { if(L1-L2>=t&&L1<L&&L2<L) { for(i=1;i<=s;i++) { if(L1<L&&L2<L) { L2+=v2; ans++; } } } else { L2+=v2; L1+=v1; ans++; } if(L1>=L) break; if(L2>=L) break; } if(L1>=L&&L2>=L){printf("D\n%d\n",ans);return 0;} if(L1>=L) {printf("R\n%d\n",ans); return 0;} if(L2>=L) {printf("T\n%d\n",ans); return 0;} return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 基础练习 Sine之舞
问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力。 不妨设 1 2 An=sin(1–sin(2+sin(3–sin(4+…sin(n))…) Sn=(…(A1+n)A2+n-1)A3+…+2)An+1 FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。 输入格式 仅有一个数:N<201。 输出格式 请输出相应的表达式Sn,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。 样例输入 3 样例输出 ((sin(1)+3)sin(1–sin(2))+2)sin(1–sin(2+sin(3)))+1 C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 #include<stdio.h> void An_Output(int n, int t) { if(n == t) { printf("sin(%d)", t); return ; } char c; c = t % 2 == 1 ? '+' : '-'; printf("sin(%d%c", t, c); An_Output(n, ++t); printf(")"); } void Sn_Output(int n, int t) { // Sn=(...(A1+n)A2+n-1)A3+...+2)An+1 if(n == t) { return ; } printf("("); Sn_Output(n, t+1); if(t != n - 1) { printf(")"); } An_Output(n - t, 1); printf("+%d", t+1); } int main() { int n; scanf("%d", &n); Sn_Output(n, 1); if(n!=1) printf(")"); An_Output(n, 1); printf("+1\n"); return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 基础练习 FJ的字符串
问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA”    A3 = “ABACABA”    A4 = “ABACABADABACABA”    … …    你能找出其中的规律并写所有的数列AN吗? 输入格式 仅有一个数:N ≤ 26。 输出格式 请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。 样例输入 3 样例输出 ABACABA C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include<iostream> #include<cstdio> using namespace std; void dfs(int k,int p) { if (k==1) { printf("%c",p+'A'); return; } dfs(k/2,p-1);dfs(1,p);dfs(k/2,p-1); } int main() { int n; scanf("%d",&n); int sum=1; n--; for (int i=1;i<=n;i++) sum=sum*2+1; dfs(sum,n); return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 基础练习 芯片测试
问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。 每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。 给出所有芯片的测试结果,问哪些芯片是好芯片。 输入格式 输入数据第一行为一个整数n,表示芯片个数。 第二行到第n+1行为n*n的一张表,每行n个数据。表中的每个数据为0或1,在这n行中的第i行第j列(1≤i, j≤n)的数据表示用第i块芯片测试第j块芯片时得到的测试结果,1表示好,0表示坏,i=j时一律为1(并不表示该芯片对本身的测试结果。芯片不能对本身进行测试)。 输出格式 按从小到大的顺序输出所有好芯片的编号 样例输入 1 2 3 4 3 1 0 1 0 1 0 1 0 1 样例输出 1 3 C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 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 #include<iostream> #include<cstdio> #include<cstring> using namespace std; bool a[25][25]; bool v[25]; int n; bool dfs(int k) { if (k==n) { int sum=0; for (int i=1;i<=n;i++) if (v[i]) sum++; if (sum>n-sum) for (int i=1;i<=n;i++) if (v[i]) printf("%d ",i); return true; } if (v[k]==true) { int len=0,s[25]; for (int i=1;i<=n;i++) if (!a[k][i] && v[i]) { s[++len]=i; v[i]=false; } if (dfs(k+1)) return true; for (int i=1;i<=len;i++) v[s[i]]=true; } if (dfs(k+1)) return true; } int main() { scanf("%d",&n); memset(v,true,sizeof(v)); for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) { int c; scanf("%d",&c); if (c) a[i][j]=1; else a[i][j]=0; } dfs(1); return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 基础练习 数的读法
问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。    比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。    所以,他迫切地需要一个系统,然后当他输入12 3456 7009时,会给出相应的念法:    十二亿三千四百五十六万七千零九    用汉语拼音表示为    shi er yi san qian si bai wu shi liu wan qi qian ling jiu    这样他只需要照着念就可以了。    你的任务是帮他设计这样一个系统:给定一个阿拉伯数字串,你帮他按照中文读写的规范转为汉语拼音字串,相邻的两个音节用一个空格符格开。    注意必须严格按照规范,比如说“10010”读作“yi wan ling yi shi”而不是“yi wan ling shi”,“100000”读作“shi wan”而不是“yi shi wan”,“2000”读作“er qian”而不是“liang qian”。 输入格式 有一个数字串,数值大小不超过2,000,000,000。 输出格式 是一个由小写英文字母,逗号和空格组成的字符串,表示该数的英文读法。 样例输入 1234567009 样例输出 shi er yi san qian si bai wu shi liu wan qi qian ling jiu C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> using namespace std; char df[][10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; char s[15]; int main() { scanf("%s",s); int lens=strlen(s); bool bk=false; for (int i=0;i<lens;i++) { int p,lendf; p=s[i]-'0'; if (p!=0) { bk=false; lendf=strlen(df[p]); if (s[i-1]-'0'==0) printf("ling "); if ((lens-i)%4==2 && p==1 /*&& s[i-1]-'0'==0 && s[i-2]-'0'==0*/ && i==0) { printf("shi "); continue; } for (int j=0;j<lendf;j++) printf("%c",df[p][j]); printf(" "); if ((lens-i)%4==2) printf("shi "); if ((lens-i)%4==3) printf("bai "); if ((lens-i)%4==0) printf("qian "); } if ((lens-i)%4==1) { if ((lens-i)/4==2) { bk=true; printf("yi "); } if (bk==false && (lens-i)/4==1) printf("wan "); } } return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页

© 2026 好站网-HaoZhan.Wang V1.9 版权所有,正在试运行中! 本站由 Zhou's Notes 强力支持!

苏ICP备19065220号-4 公安备案 苏公网安备32100302011680号 萌ICP备20269980号 茶ICP备2026050346号
本站数据 2026年报 版本历史 小黑屋 关于本站 统计代码