青少年信息学奥林匹克初级竞赛辅导练习题

合集下载

信奥赛20年入门组16题

信奥赛20年入门组16题

信奥赛20年入门组16题摘要:I.引言A.介绍信奥赛的历史和背景B.强调信奥赛在编程教育中的重要性II.信奥赛20 年入门组16 题的概述A.题目内容的简介B.难度等级的说明C.适合参赛者的范围III.解题思路及算法分析A.题目背景及要求B.解题思路的阐述C.算法实现的具体步骤IV.编程实践与代码展示A.编程语言的选择B.代码实现的详细步骤C.代码展示与解读V.总结与反思A.对解题过程的总结B.对参赛者的建议和鼓励C.对信奥赛未来发展的展望正文:信奥赛,全称全国青少年信息学奥林匹克竞赛,自1984 年创办以来,已经走过了37 个年头。

作为一项面向全国中小学生的编程比赛,信奥赛旨在选拔和培养优秀的计算机编程人才,推动我国信息产业的发展。

在众多比赛中,信奥赛20 年入门组16 题以其独特的魅力吸引了许多参赛者的目光。

信奥赛20 年入门组16 题是一道具有代表性的题目,它要求参赛者编写一个程序,解决一个涉及数据结构的问题。

具体来说,题目描述了一个由n 个整数组成的数据集,要求参赛者找出其中出现次数最多的数,并输出这个数。

题目难度适中,适合初学者挑战。

解题思路如下:首先,我们需要创建一个数组或哈希表来存储每个整数出现的次数。

然后,遍历数据集中的每个整数,如果该整数尚未被记录,则将其计数设为1;如果已经记录过,则将其计数加1。

接下来,找出计数最大的整数,即为出现次数最多的数。

最后,输出这个数。

下面是使用Python 编程语言实现的代码示例:```pythondef find_the_most_common_number(nums):counts = {}for num in nums:if num in counts:counts[num] += 1else:counts[num] = 1max_count = 0most_common_num = Nonefor num, count in counts.items():if count > max_count:max_count = countmost_common_num = numreturn most_common_num```通过以上步骤,我们可以得出信奥赛20 年入门组16 题的解答。

全国青少年信息学奥林匹克联赛培训习题与解答(附程序解析主要是动态规划).pdf

全国青少年信息学奥林匹克联赛培训习题与解答(附程序解析主要是动态规划).pdf

例13-4迷宫寻宝【问题描述】一个n行m列的迷宫(1<=n,m<=5),入口在左上角,规定只能向下或向右走。

迷宫的某些地方藏有不同价值(>0)的宝藏,同时又存在一些障碍无法通过。

求到达右下角出口时收集宝藏的最大值。

【输入】第一行n和m一下n行m列描述迷宫矩阵a[I,j](-1:障碍);最大值【样例输入】342-150513-16-18910【样例输出】33【分析】A[I,j]保存第i行第j列的宝藏价值。

令f[I,j]为从(1,1)走到第i行第j列时所能收集的宝藏的最大价值。

状态转移方程:F[I,j]=max{f[I-1,j],f[I,j-1]}+a[I,j](i<=n,1<=m)条件:n[I,j]<>-1初始:f[1,1]=a[1,1]目标:f[n,m]【参考程序】Const maxn=50;maxm=50;Fin=’b1.in’;Fout=’b1.out’;VarF,a:array[0..maxn+1,0..maxm+1]of integer;I,j,k,n,m,t:integer;Procedure init;BeginAssign(input,fin);Reset(input);Readln(n,m);For i:=0to n+1doFor j:=0to m+1do a[I,j]:=-1;A[0,1]:=0;For i:=1to n doFor j:=1to m doBeginRead(a[I,j]);If(a[I,j-1]=-1)and(a[i-1,j]=-1)then a[I,j]:=-1;//很关键的预处理End;Close(input);End;Function max(a,b:integer):integer;Begin max:=a;if b>a then max:=b;end;Procedure work;BeginFillchar(f,sizeof(f),0);For i:=1to n doFor j:=1to m doIf a[I,j]<>-1Then f[I,j]:=max(f[i-1,j],f[I,j-1])+a[I,j];End;Procedure print;BeginAssign(output,fout);Rewrite(output);Writeln(f[n,m]);Close(output);End;BeginInit;Work;Print;End.13-5花店橱窗布置(IOI1999)【问题描述】假设你想以最美观的方式布置花店的橱窗。

青少年信息学奥林匹克竞赛试题与解析

青少年信息学奥林匹克竞赛试题与解析

青少年信息学奥林匹克竞赛试题与解析一、选择题(每题3分,共30分)以下关于二进制数的描述,哪一项是错误的?A. 二进制数只有0和1两个数字B. 二进制数的每一位称为比特(bit)C. 二进制数可以直接在计算机中存储和运算D. 二进制数的每一位都代表一个十进制的2的幂次方下列哪个算法的时间复杂度是O(n^2)?A. 冒泡排序B. 选择排序C. 插入排序D. 快速排序(在平均和最坏情况下)在关系型数据库中,以下哪个术语用于描述表与表之间的关系?A. 实体B. 属性C. 关键字D. 外键以下哪项不是计算机网络的基本功能?A. 数据通信B. 资源共享C. 分布式处理D. 数据加密以下哪个算法用于查找无序列表中的元素?A. 二分查找B. 顺序查找C. 插入排序D. 快速排序在面向对象编程中,以下哪个术语用于描述对象的行为?A. 属性B. 方法C. 继承D. 封装以下哪个协议用于在互联网上传输电子邮件?A. FTPB. SMTPC. HTTPD. DNS以下哪个数据结构适用于实现栈?A. 数组B. 链表C. 哈希表D. 二叉树以下哪个术语用于描述计算机程序的指令集合?A. 代码B. 程序C. 算法D. 数据结构以下哪个术语用于描述计算机网络中数据传输的速率?A. 带宽B. 延迟C. 吞吐量D. 丢包率二、填空题(每题4分,共16分)在计算机科学中,__________ 是一种特殊类型的循环,其中循环的每次迭代都依赖于前一次迭代的结果。

在关系型数据库中,__________ 是用于唯一标识表中每一行数据的字段或字段组合。

在计算机网络中,__________ 是指从一个节点发送数据到另一个节点所需的总时间。

在面向对象编程中,__________ 是一种机制,允许一个类继承另一个类的属性和方法。

三、简答题(每题12分,共24分)描述算法的基本组成部分,并解释它们的作用。

解释计算机网络中的TCP/IP协议栈,并说明各层的主要功能。

全国青少年信息学奥林匹克联赛初赛练习卷(二)答案

全国青少年信息学奥林匹克联赛初赛练习卷(二)答案

全国青少年信息学奥林匹克联赛初赛练习卷(二)(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(20题,每题1.5分,共30分)1.完全二叉树的结点个数为11,则它的叶结点个数为()。

A. 4B. 3C. 5D. 2E. 6 (最后一个分支结点:n\2=11\2=5,故叶子有6个)2.平面上有五个点A(5,3)、B(3,5)、C(2,1)、D(3,3)、E(5,1),以这五点作为完全图G的顶点,每两点之间的直线距离是图G中对应边的权值。

以下哪条边不是图G的最小生成树中的边()。

A. ADB. BDC. CDD. DEE. EA3.Intel的首颗16位处理器是()。

A.8088B.80386C.80486D.8086E.Pentium(The first chip used in PCs was Intel's 8088. This was not, at the time it was chosen, the best available CPU, ... The 8088 was chosen for reasons of economics: its 8-bit data bus required less costly motherboards than the 16-bit 8086.)4.下列活动中不属于信息学奥赛的系列活动的是()。

A. NOIPB. NOIC. IOID. 冬令营E. 程序员等级考试5.以下哪个软件不是即时通信软件()。

A.网易泡泡B.MSN MessengerC.Google TalkD.3DS MaxE.QQ6.下列关于高级语言的说法错误的是()。

A.Fortran是历史上的第一个面向科学计算的高级语言B.Pascal和C都是编译执行的高级语言C.C++是历史上的第一个支持面向对象的语言D.编译器将高级语言程序转变为目标代码E.高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上7.常见的邮件传输服务器使用()协议接收邮件。

全国青少年信息学奥林匹克联赛初赛练习卷(十)new答案

全国青少年信息学奥林匹克联赛初赛练习卷(十)new答案

全国青少年信息学奥林匹克联赛初赛练习卷(十)答案(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(20题,每题1.5分,共计30分。

每题有且仅有一个正确答案)1.计算机系统由硬件系统和软件系统组成,平常我们所说的计算机软件是由程序和()组成。

A. 软盘B. 文档C. 操作平台D. 相关软件工具2.下面有关数制的式子中,正确的是()。

A. (A2B.C5)16 = (101000101011.01011100)2B. 在八进制中,2*6=14C. (110010)2+(16)10=(1000100)2D. (01000)2=(8)83.汉字输入方法实质上是对汉字进行编码。

下面()不是汉字输入方法的编码方式。

A. 音码B. 形码C. 音形码D. ASCII码4.Windows是一种多任务的操作系统,各个Windows应用程序之间可以非常方便地通过()来交换数据。

A. 复制B. 读/写文件C. 剪贴板D. 剪切5.因特网(Internet)给我们提供了资源共享、浏览、检索信息和远程登录等多种服务。

下面几个选项中,用于远程登录的是()。

A. TelnetB. E-mailC. TCP/IPD. WWW6.在数据结构中,链表是()。

A. 顺序存储的线性表结构B. 非顺序存储的线性表结构C. 非顺序存储的非线性表结构D. 顺序存储的非线性表结构7.如果一棵M度树中有N1个度为1的顶点,N2个度为2的顶点,……,Nm个度为M的顶点,则该树中的叶子顶点个数为()。

A. N1B. M-N1-N2C. N1+2N2+…+(m-1)N m-1+1D. N2+2N3+…+(m-1)N m+18.设有1024个数据,利用二分法进行查找时,最坏情况下的比较次数为()。

A. 11B. 10C. 9D. 89.设数组X[10..40, 20..50]以行优先的方式存储,每个元素占4个字节,且已知x[10,20]的地址为1000,则x[30,30]的地址为()。

全国青少年信息学奥林匹克联赛初赛练习卷(六)答案

全国青少年信息学奥林匹克联赛初赛练习卷(六)答案

全国青少年信息学奥林匹克联赛初赛练习卷(六)答案(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(20题,每题1.5分,共30分)1.小张用十六进制,八进制和十进制写了如下一个等式:52 – 19 = 33式中三个数是各不相同进位制的数,试问52、19、33,分别为___________.(A)八进制,十进制,十六进制(B)十进制,十六进制,八进制(C)八进制,十六进制,十进制(D)十进制,八进制,十六进制2.下列if语句中,endif表示相应if的结束:y=0if x<0then y=5else if x<10 theny=10if x<100 then y=100 endifelse y=200endifendif试指出:当x=80时,运行的结果为__E__,当x=5时结果为__D_。

A、y=9B、y=5C、y=10D、y=100E、y=2003.下列哪个网络上常用的名字缩写是错误的()。

A.WWW(World Wide Web)B.URL(Uniform Resource Locator)C.HTTP(Hypertext Transfer Protocol)D.FTP(Fast Transfer Protocol){应该是“File Transfer Protocol”}E.TCP(Transfer Control Protocol)。

4.不能在Linux 上使用的网页浏览器是()。

A. Internet ExplorerB. NetscapeC. OperaD. FirefoxE. Mozilla5.一位艺术史学家有20000 幅1024 * 768 的真彩色图像,如果将这些图像以位图形式保存在CD 光盘上(一张CD 光盘的容量按600M计算),大约需要()张CD光盘。

A. 1B. 10C. 100D. 1000E. 10000(1024*768*32*20000)/ (8*1024*1024*600) =100张6.由3个a,5个b和2个c构成的所有字符串中,包含子串“abc”的共有()个。

全国青少年信息学奥林匹克联赛初赛练习卷(十三)new

全国青少年信息学奥林匹克联赛初赛练习卷(十三)(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(20题,每题1.5分,共计30分。

每题有且仅有一个正确答案)1.给出三种排序算法:插入排序、冒泡排序和选择排序,这三种排序算法的时间代价分别是()。

A. O(n)、O(n2)、O(logn)B. O(logn)、O(n)、O(n2)C. O(n2)、O(n)、O(logn)D. O(n2)、O(n2)、O(n2)2.给出一组数据:10,18,3,4,9,13,15,2,21,9,8,将它们生成一棵二叉排序树,所需的关键码比较次数为()。

A. 25B. 24C. 23D. 223.从逻辑功能上讲,计算机主要由()、控制器、存储器、输入设备和输出设备组成。

A. ROMB. I/OC. CPUD. ALU4.在衡量存储器容量时,计量的单位由小到大的顺序是()。

A. KB GB TBB. TB KB GBC. TB GB KBD. KB TB GB5.下面()不是网络操作系统?A. UNIXB. NETW AREC. WINDOWSD. DOS6.下列()不属于计算机病毒的预防措施。

A. 拥有计算机病毒检测扫描器B. 拥有实时监控程序C. 可对未知计算机病毒进行检测D. 对已知的计算机病毒进行杀毒7.汉字的区位码、国标码和机内码(又称内码)是三个不同的概念。

假设某个汉字的区号是十进制数30,位号是十进制数63,则在PC机中,它的十六进制内码是()。

A. BEDFB. 3E5FC. 9EBFD. B0E38.文件夹组织是一个有层次的树状结构,其中最顶层的是()。

A. 我的电脑B. 网上邻居C. 桌面D. 资源管理器9.()是用来在计算机之间进行文件传输的。

利用该服务,不仅可以从远程计算机上获取文件,而且还可以将文件从本地机器传送到远程计算机上。

A. DNSB. NFSC. WWWD. FTP10.用十六位机器码1110001010000000来表示定点整数(最高位为符号位),当它是原码时,表示的是十进制真值为-25216;当它是补码时,表示的是十进制真值是()。

全国青少年信息学奥林匹克联赛初赛练习卷(十二)new汇总

全国青少年信息学奥林匹克联赛初赛练习卷(十二)(普及组PASCAL 语言二小时完成●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(20题,每题1.5分,共计30分。

每题有且仅有一个正确答案)1. 在网络上,若某台电脑的设备及数据可由其他电脑共享,这台电脑称为()。

A. 主机B. 服务器C. 副机D. 个人计算机2. 连接到Internet 上的每台计算机都必须有一个()地址,该地址共含()个字节,前面若干字节表示(),后面若干字节表示()。

为了避免使用数字,人们经常使用字母代替,这些名字称为()。

A. IP、四、网络地址、计算机地址、网名B. 网络、四、IP 地址、网内计算机地址、域名C. 网络、不超过十、网页、网址、网名D. IP、四、网络地址、网内计算机地址、域名3. 产生100至300之间的随机整数(包含100、300)的表达式是()。

A. Random(100+200B. Random(200+100C. Random(201+100D. Random(3004. OSI 七层协议中,最底层的协议是()。

A. 会话层B. 数据链路层C. 物理层D. 网络层5. 设x 为值大于零的实型变量,在Pascal 中,计算x 8的表达式为()。

A. ln(8*(exp(xB. exp(8*(lnxC. x^8D. sqr(sqr(sqr(x*x6. 十进制数-103的补码是()。

A. 10011001B. 11100111C. 10110011D. 000110017. 为了区分汉字与ASCII 码,计算机中汉字编码的最高位为()。

A. 0B. 1C. 2D. 48. 在微型计算机系统中,I/O接口位于()之间。

A. CPU和内存储器B. 外部设备与内存储器C. 总线与输入输出设备D. 主机和输入输出设备9. 在微型计算机中,常用()码实现十进制数与二进制数之间的自动转换。

信息学竞赛辅导初赛之选择题及问题求解


3.shl(左移)

shr(右移)
shl(左移位) (00001)2 shl 1 =(00010)2 (00101)2 shl 2 =(10100)2
小结:二进制每左移一位相当于乘以一个2 shr(右移位) (00010)2 shr 1 =(00001)2 (00100)2 shr 2 =(00001)2

二进制数10.11用十进制数表示为( 2+2-1+2-2 =2.75

信息安全

在计算机中,防火墙的作用是( )。

A. 防止火灾蔓延 B.防止网络攻击 C. 防止计算机死机 D. 防止使用者误删除数据 答案:B
算法与编程常识


在下列关于计算机语言的说法中,不正确的是( )。 A. Pascal和C都是编译执行的高级语言 B. 高级语言程序比汇编语言程序更容易从一种计算机移植 到另一种计算机上 C. C++是历史上的第一个支持面向对象的计算机语言 D. 与汇编语言相比,高级语言程序更容易阅读

2.即使不懂基数排序,知道了前3者排序 的本质是“比较”和“移动”,通过排除 法也是可以分析出正确答案的。

在Pascal语言中,判断a不等于0且b不等于0 的正确的条件表达式是( )


A. not a=0 or not b=0 B.not((a=0)and(b=0)) C. not(a=0 and b=0) D. (a<>0)and (b<>0)

2.排序本质可说是循环查找各个位置上数 (1)用二分查找 (2)总次数=3+2+2=7
数据结构类
树与图

第十六届全国青少年信息学奥林匹克联赛初赛试题与答案

第十六届全国青少年信息学奥林匹克联赛初赛试题(普及组 Pascal 语言两小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一. 单项选择题(共20题,每题1.5分,共计30分。

每题有且仅有一个正确答案。

)1.2E+03表示()。

A.2.03B.5C.8D.20002.一个字节(byte)由()个二进制位组成。

A.8B.16C.32D.以上都有可能3.以下逻辑表达式的值恒为真的是()。

A.P∨(﹁P∧Q) ∨(﹁P∧﹁Q)B.Q∨(﹁P∧Q) ∨(P∧﹁Q)C. P∨Q∨(P∧﹁Q) ∨(﹁P∧Q)D.P∨﹁Q∨(P∧﹁Q) ∨(﹁P∧﹁Q)4.Linux下可执行文件的默认扩展名为()。

A.exeC.dllD.以是都不是5.如果树根算是第1层,那么一棵n层的二叉树最多有()结点。

A.2n-1B.2nC.2n+1D.2n+16.提出“存储程序”的计算机工作原理的是()。

A.克劳德·香农B.戈登·摩尔C.查尔斯·巴比奇D.冯·诺依曼7.设X、Y、Z分别代表三进制下的一位数字,若等式XY+ZX=XYX在三进制下成立,那么同样在三进制下,等式XY×ZX=()也成立。

A.YXZB.ZXYC.XYZD.XZY9.前缀表达式“+3×2+5 12”的值是()。

A.23B.25C.37D.6510.主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。

而根据局部性原理,CPU所访问的存储单元通常都趋于聚集在一个较小的连续区域中。

于是,为了提高系统整体的执行效率,在CPU中引入了()。

A.寄存器B.高速缓存C.闪存D.外存11.一个字长为8位的整数的补码是11111001,则它的原码是()。

A.00000111B.01111001C.11111001D.1000011112.基于比较的排序时间复杂度的下限是(),其中n表示待排序的元素个数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一题(p236)问题描述:将键盘输入的字符串中所有的十进制数找出来,并求它们的和。

输入:APPLE 25, PEAR 125屏幕输出:25+125=150输入:THIS IS A BOOK屏幕输出:0第二题(p236)问题描述:求n!(n!=l×2×3×4×5×…×n)的精确值(n≤25 )。

输入:n=11屏幕输出:n!=39916800第三题(p236)问题描述;当输入正整数N时(0<N≤10),输出下列形状的图形。

输入:N=3屏幕输出:6 3 10 5 200 4输入:N=5屏幕输出:15 10 6 3 10 14 9 5 20 0 13 8 40 0 0 12 70 0 0 0 111.编-程序,由计算机随机产生十道10以内整数四则运算题,运算符由计算机随机产生,每做对-题加10分,并输出“GOOD"。

做完后,输出对几题、错几题以及总分是多少。

(p233) 说明:变量A, B为运算数,变量C为运算符代码。

2.输入一个正整数X,然后与它的倒序排列的数相加,求其结果。

(p234) 例如:正整数238,其倒序排列的数为832,其结果为238+832=1070。

P28练习[例2]报数游戏(NOIP-TJ-2006小学组复赛题)。

(p30)小朋友都喜欢做游戏,今天就教大家一个游戏。

游戏规则非常简单,基本描述如下:假设有n个小朋友玩这个游戏,那么我们把所有的人从1到n都逐一编好号码,以便游戏的开始。

n个同学根据自己的编号按照顺时针顺序站成一个圈。

如下图(以10人为例):110 29 38 47 56现在从编号1的小朋友开始按照顺时针的方向报数,报数的规则是,我们只做1﹀2报数,也就是报完1再报2,然后再报1,再报2......。

当有人报数报到2时,此人就输掉了游戏,必须离开,当某个人离开游戏后,大家仍然保持相对的位置继续报数,直到只有1个人剩下时才停止,这个人就是游戏的胜利者。

我们由上图(以10人为例),可以得到依次离开游戏的顺序:2, 4, 6, 8, 10, 3, 7, 1, 9。

最后胜利者为编号是5的小朋友。

经过几次游戏,聪明的小明感觉到了其中是有规律的,他猜测如果已知参与游戏的人数,那么这个胜利者编号就是固定的,但是他却没有计算出来到底谁会赢得游戏。

现在请你来帮助小明去计算到底谁是游戏的胜利者。

每组数据都会告诉你参与这个游戏的人数n,并且n不会超过1000。

请你对于每组数据都输出那个胜利者的编号。

〔样例输入1]4f样例输出1)1(解释:离开游戏的顺序是:2, 4, 3。

所以说剩下的编号为1的是胜利者。

)〔样例输入2〕10〔样例输山2〕5(p34)(p34)(p34)(p34)(p34)(p34)p40【例4】产生整数序列。

编程按递增顺序产生序列{M}中最小的100个整数。

{M}定义如下:1)整数1属于{M};2)如果x属于{M},则y=2x+1, y=3x+1也属于{M};3)除了上述两个条件外,再无其他整数属于{M}.分析:显然整数序列{M}是按递推定义的。

现在要按递增顺序产生序列{M}中最小的100个整数。

首先把数1放入到{M}中,然后按y=2x+1, y=3x+1产生两个数放置到序列的后面,按递增顺序排列。

由于按表达式y=2x+1产生的数放置的位置可能不符合要求,使用插入排序法能很快调整递增顺序。

在使用插入排序时,从后往前依次把数据后移,空出位置放置刚产生的整数。

当发现新产生的数与序列中原有的某数相等时,要把原来后移的数据移回原处。

p41〔例5〕数的计数(NOIP-2001)。

我们要求找出具有下列性质的数的个数(包含输入的自然数n):先输入一个自然数n (n ≤ 1000),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个自然数,但该自然数不能超过原数的一半;3.加上数后,继续按此规则进行处理,直到不能再加自然数为止。

样例,输入:6输出:6即满足条件的数有6个(以下部分不必输出)。

6162612636136[p56]【例2】从下列国家名称中找到以J打头的国家名称:China,Japan,America,India,Laos,DATA China,Japan,America,India,LaosP101(2)用随机函数产生num个(1≤num≤100)9.17到917之间的实数(保留小数点后两位),并存放在数组x中,然后将前n个数颠倒排放。

(3)对随机产生的100个0到50之间的随机整数用一个数组存放后进行排序,然后再将其中重复出现的数进行删除,只保留一个,使得剩下的数中任何两个都不相同且连续存储在原数组中(2002年江苏年江苏省小学生组试题)。

(4)我们将左右对称的自然数称为回文数,例如:121, 4114等;将只能被1与其本身整除的自然数称为素数,例如:7, 353等。

键入N,M,求出N至M(含N与M)之间既是回文数又是素数的自然数共有多少个,(2002年江苏省小学组试题)(5)随机产生100个1到100之间的整数,在其中查找某个数,并输出其所在位置。

(6)从键盘输入一个正整数n,计算并输出比n小并且与n互素的数的个数。

(两个数互素是指它们的最大公约数等于1。

)P108【例5】回文数是指那些顺读和倒过来读都一样的正整数,如12321, 881188等。

它可用下列方法得到:①任意写下一个2至4位的数;②把此数的各位数字倒排,组成一个新数,加到原数上去;③把得到的和数重复步骤2,直到得出回文数。

试编程实现。

(数196很特殊,有人猜想它可能是一个算来算去也得不到回文数的最小自然数。

)运行示例:输入: n=? 791输出:988187796581822790508171017881188P117【例2)统计字符数。

对于任意输入的字符串求出组成该字符串的每种字符的长度(个数)及频率(百分比)。

编程要求:从键盘输入任意字符串;输出该字符串组成的不同字符(对于相同英文大小写字母按不同字符处理)和它在该字符串中出现的次数及它对于整个字符串长度的百分比(精确到百分位)。

(1999年天津市青少年信息学(计算机)竞赛小学组复赛题)【例3】单词查找。

输入一个英文句子,例如:”This is a Book.”,可以看到英文句子是以”.”来作为结束符号的,并且单词之间以一个空格来分隔。

接着再输入一个单词a$,请找出首次在句子中出现的与a$相同的单词,显示是句子中的第几个单词,若不存在,则输出该句子中单词字符的总个数。

例如对上面的句子而言,若输入单词”is”,则应输出:2;若输入单词为”is a”,则应输出:11。

分析:本题已知两个条件:①原字符串:以”.”来作为结束符号的英文句子;②需寻找的字符串a$。

最后输出的结果也有两种情况:①能在输入的句子中找到,则输出是句子中的第几个单词;②不能在输入的句子中找到,则输出该句子中单词字符的总个数。

问题的关键在于如何使用MID$()函数取出英文句子中的每一个单词。

我们可用嵌套的两个循环结构来实现,内循环主要解决将英文句子中的字符组合成单词并与已知单词的比较问题;外循环控制将英文句子拆成若干个单词。

变量说明:aa$:存放输入的英文句子a$:待查找的单词b$:从英文句子中取出的单词m:计数器,记录英文句子中单词的个数n:计数器,记录英文句子中字符的个数fLag:标志变量,fLag=1表示已经从英文句子中找到该单词x$:从英文句子中取出的一个字符【例4】给出一个数字字符串,即字符串中的字符全部为数字,并以字符”$”结束(字符”$”,本身不是数字符,仅作为结束符号),例如:“12$”,”2135$”,”312456$”,设字符串的长度L≤8(包括”$”)。

今将数字字符串分成三个部分(分法为任意的),例如:”312456$”,可分为“3”,”124”,”56”;或者”31”,”24”,”56”,…从上例可看出,当数字串给出之后,分成三部分的分法是有很多种的(每-部分不能为空),对每一种分法,可以得到三个数。

例如:分法”3”, “124”, “56”,对应的三个数为3, 124,56;对应分数为:1/3, 1/124, 1/56。

分法”31”, “24”, “56”,对应的三个数为31, 24, 56;对应分数为:1/31,1/24, 1/56.程序要求:从键盘输入一个数字串(以$作为结束符号)。

找出一种分法,使得到的三个分数的和s为最小,输出s的值(精确到小数点后第6位))。

若给出的数字串中,非0的字符少于3个,例如:”12$”, “100100$”……则此时不能组成三个数,输出一个”ERROR”,运行示例:输入:s$= 100100$输出:ERROR输入:s$= 3456789$输出:0.029060p121(4 ) PoLybius密码。

公元前二世纪,希腊历史学家PoLybius想出一种信号通讯体制,他把字母排列在一个方表内,并把各行各列标上数字,把单个字符放入表格内,这样每个字符用两个数字表示—一它所在的横行数字和所在的纵列的数字。

例如-种六码棋盘密码的表格如下:* 1 2 3 4 5 61 0 1234 52 6 7 8 9 A B3 C D E F G H4 I J K L M N5 O P Q R S T6 U V W X Y Z以上述密本为蓝本,加上移位法(每个数加上密钥),就能进行加密与解密。

试编程解之。

(5)最频繁的字母。

小明是-名翻译,每天都要看许多令人头疼的英文。

他无聊时会想-些很奇怪的问题,例如英文单词是如何组成的,它们有什么来源等等。

有一天他突然想,到底哪个英文字母在英文单词中出现的频率最高呢?他发现解决这个问题的工作量还是很大的,于是找到了你帮助他解决这个问题。

他会提供你一个仅由26个小写字母(a-z)组成的字符串s(中间不含空格),请你计算-下这字符串s中哪个字母出现的次数最多,如果说出现次数最多的字母不止一个,那么请把它们都打印出来,按照字母表的顺序输出((abcdef...xyz),也就是按照这些字母的ASCII由小到大输出出来。

每组数据都只有一行,就是题目中所描述的字符串s,它的长度不会超过200。

你也只需输出一行,即出现次数最多的字母。

(如果很多,就按字母表序输出。

)【样例输入1】abaca【样例输出1】a(解释:因为a出现了3次,而b和c都只出现了1次。

)【样例输入2】msmcatac【样例输出2】acm(解释:由于m, c, a都出现了2次,因此只要把m,c,a按照字母表的顺序输出即可。

)【例6】找出小于33的6个正整数,用这些整数进行加法运算,使得包括原来的整数在内,能组成尽可能多的不同整数。

相关文档
最新文档