文档库 最新最全的文档下载
当前位置:文档库 › 信息学奥赛阅读程序练习题

信息学奥赛阅读程序练习题

信息学奥赛阅读程序练习题
信息学奥赛阅读程序练习题

阅读程序练习题—写出程序运行结果第一组(共12题)

1.program ex1;

var i,x1,x2,x:integer;

begin

x1:=3;

x2:=8;

for i:=1 to 5 do

begin

x:=(x1+x2)*2;

x1:=x2;x2:=x;

end;

writeln('x=',x);

end.

2.program ex2;

var a:array[1..11] of integer;

i,k:integer;

begin

a[1]:=1;a[2]:=1;k:=1;

repeat

a[k+2]:=1;

for i:=k downto 2 do

a[i]:=a[i]+a[i-1];

k:=k+1;

until k>=10;

for i:=1 to 11 do

write(a[i]:4);

writeln;

end.

3.program ex3;

var i,s,max:integer;

a:array[1..10] of integer;

begin

for i:=1 to 10 do read(a[i]);

max:=a[1];s:=a[1];

for i:= 2 to 10 do

begin

if s<0 then s:=0;

s:=s+a[i];

if s>max then max:=s;

end;

writeln('max=',max)

end.

输入:-2 13 -1 4 7 8 -1 -18 24 6

输出:max=

输入:8 9 -1 24 6 5 11 15 -28 9

输出:max=

4.program ex4;

const n=5;

var i,j,k:integer;

a:array[1..2*n,1..2*n] of integer; begin

k:=1; for i:=1 to 2*n-1 do

if i<=n then

if odd(i) then

for j:=i downto 1 do

begin

a[i-j+1,j]:=k;k:=k+1;

end

else for j:= 1 to i do

begin

a[i-j+1,j]:=k;k:=k+1;

end

else if odd(i) then

for j:=n downto i-n+1 do begin

a[i-j+1,j]:=k;k:=k+1; end

else for j:=i-n+1 to n do

begin

a[i-j+1,j]:=k;k:=k+1;

end;

for i:=1 to n do

begin

for j:=1 to n do

write(a[i,j]:3);

writeln

end;

end.

5.program ex5;

const n=10;

var s,i:integer;

function co(i1:integer):integer; var j1,s1:integer;

begin

s1:=n;

for j1:=n-1 downto n-i1+1 do

s1:=s1*j1 div (n-j1+1);

co:=s1;

end;

begin

s:=n+1;

for i:=2 to n do s:=s+co(i);

writeln('s=',s);

end.

6.program ex6;

const n=3;

var i,j,s,x:integer;

p:array[0..n+1] of integer; g:array[0..100] of integer; begin

for i:=0 to 100 do g[i]:=0;

p[0]:=0;p[n+1]:=100;

for i:=1 to n do read(p[i]);

readln;

for i:=0 to n do

for j:=i+1 to n+1 do

g[abs(p[j]-p[i])]:=g[abs(p[j]-p[i])]+1; s:=0;

for i:=0 to 100 do

if g[i]>0 then begin write(i:4);s:=s+1;end; writeln;

writeln('s=',s);

writeln('input data:');readln(x);

writeln(g[x])

end.

输入:10 20 65

input data: 10

输出:

7.program excp1;

var

x,y,y1,jk,j1,g,e:integer;

a:array[1..20] of 0..9;

begin

x:=3465;y:=264;jk:=20;

for j1:=1 to 20 do a[j1]:=0;

while y<>0 do

begin

y1:=y mod 10;

y:=y div 10;

while y1<>0 do

begin

g:=x;

for e:=jk downto 1 do

begin

g:=g+a[e];

a[e]:=g mod 10;

g:=g div 10

end;

y1:=y1-1

end;

jk:=jk-1

end;

j1:=1;

while a[j1]=0 do j1:=j1+1;

for jk:=j1 to 20 do write(a[jk]:4);

writeln

end.

8.program ex9;

var

i,j:integer;

a:array[1..14] of integer;

procedure sw(i1,j1:integer);

var k1:integer;

begin

for k1:=1 to (j1-i1+1) div 2 do

begin

a[i1+k1-1]:=a[i1+k1-1]+a[j1-k1+1]; a[i1-k1+1]:=a[i1+k1-1]-a[j1-k1+1];

a[i1+k1-1]:=a[i1-k1+1]-a[j1-k1+1];

end;

end;

begin

j:=211;

for i:=1 to 14 do

begin a[i]:=i;j:=j-i end;

sw(1,4);sw(5,10);sw(11,14);sw(1,14);

for i:=1 to 14 do

begin

if (j mod i)=1 then write(a[i]:3);

j:=j-a[i];

end;

writeln

end.

9.program ex10;

var i,j,l,n,k,s,t:integer;

b:array[1..10] of 0..9;

begin

readln(l,n);s:=l;l:=1;t:=l;

while s

begin

k:=k+1;t:=t*l;s:=s+t;

end;

s:=s-t;n:=n-s-1;

for i:=1 to 10 do b[i]:=0;

j:=11;

while n>0 do

begin

j:=j-1;b[j]:=n mod l;n:=n div l;

end;

for i:=10-k+1 to 10 do

write(chr(ord('a')+b[i]));

end.

输入: 4 167

输出:

10.program exp3;

var i,j,s:integer;

b:array[0..5] of integer;

begin

s:=1;

for i:=1 to 5 do b[i]:=i;

j:=1;

while j>0 do

begin

j:=5;

while (j>0) and (b[j]=10+j-5) do j:=j-1; if j>0 then

begin

s:=s+1;b[j]:=b[j]+1;

for i:=j+1 to 5 do b[i]:=b[j]+i-j

end;

end;

writeln('s=',s);

end.

11.program ex11;

var i,j,j1,j2,p,q:integer;

p1:boolean;

b,c:array[1..100] of integer;

begin

readln(q, p);j:=1;p1:=true;;j1:=0;

fillchar(b,sizeof(b),0);b[j]:=q;

while (q>0) and p1 do

begin

j1:=j1+1;c[j1]:=q*10 div

p;q:=q*10-c[j1]*p;

if q>0 then

begin

j2:=1;

while (b[j2]<>q) and (j2<=j) do j2:=j2+1; if b[j2]=q then

begin

p1:=false; write('0.');

for i:=1 to j2-1 do write(c[i]:1);

write('{');

for i:=j2 to j1 do write(c[i]:1);

writeln('}');

end else begin j:=j+1;b[j]:=q end;

end;

end;

if q=0 then begin write('0.');

for i:=1 to j1 do write(c[i]:1);

writeln

end;

readln

end.

输入:1 8 输出:

输入:2 7 输出:

12.program ex12;

const n=7;m=6;

var i,j,x0,y0,x1,y1,x2,y2:integer;

d:real;p:boolean;g:array[0..n,0..m] of 0..1;

function disp(x1,y1,x2,y2:integer):real;

begin

disp:=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y 2));

end;

begin

for i:=0 to n do

for j:=0 to m do

g[i,j]:=0;

readln(x1,y1,x2,y2);

g[x1,y1]:=1;g[x2,y2]:=1;

p:=true; while p do

begin

p:=false;

d:=disp(x1,y1,x2,y2);

x0:=x1;y0:=y1;

for i:=4 to n do

for j:=0 to m do

if (d>disp(i,j,x2,y2)) and (g[i,j]=0) then

begin

d:=disp(i,j,x2,y2);

x0:=i;y0:=j;

end;

if (x0<>x1) or (y0<>y1) then

begin

x1:=x0;y1:=y0;p:=true; g[x1,y1]:=1; end;

d:=disp(x1,y1,x2,y2);

x0:=x2;y0:=y2;

for i:=0 to 3 do

for j:=0 to m do

if (d

begin

d:=disp(x1,y1,i,j);

x0:=i;y0:=j;

end;

if (x0<>x2) or (y0<>y2) then

begin

x2:=x0;y2:=y0;p:=true; g[x2,y2]:=1; end;

end;

writeln(x1,y1,x2,y2)

end.

输入:7 6 0 0 输出:

第二组(共8题)

1.program p20011;

var j,k,s:integer;

begin

for k:=1 to 10 do

begin

s:=k*k*k;

for j:=1 to k-1 do s:=s+11-j;

for j:=k to 10 do s:=s+j-k;

s:=s+j-k;

end;

write('s=',s+j-k);

end.

2.program p20012;

var k,f,j:integer;

a:array[1..8] of integer;

begin

for k:=1 to 8 do

begin

f=k mod 2;

if f=0 then a[k]:=0 else a[k]:=1;

for j:=1 to k do

if f=0 then a[k]:=a[k]+j else

a[k]:=a[k]*j;

end

for j:=1 to 8 do

write(a[j]:2);

end.

3.program p20013;

var p,q,t,s:integer;

begin

readln(p);

for q:=p+1 to p*2 do

begin

t:=0;

s:=(p*q) mod (q-p);

if s=0 then

begin t:=p+q+(p*q) div (q-p);

write(t:4)

end;

end;

end.

输入:12 输出:

4.program p20014;

var n,k,j:integer;

a:array[1..40] of integer;

procedure sub(x:integer);

var j1,j2,p,s:integer;

begin

j1:=0;p:=1;

while p=1 do

begin

j1:=j1+1;

s:=0;

for j2:=1 to n do

if a[j2]>a[j1] then s:=s+1;

if s=x-1 then begin writeln(a[j1]);p:=0 end;

end;

end;

begin

readln(n,k);

for j:=1 to n do read(a[j]);

sub(k);

sub(n-k);

end.

输入:10 4

再输入:12 34 5 65 67 87 7 90 120 13

输出:5.program gao7_1;

function ack(m,n:integer):integer;

begin

if m=0 then ack:=n+1

else if n=0 then ack:=ack(m-1,1)

else ack:=ack(m-1,ack(m,n-1));

end;

begin

writeln(ack(3,4));

readln;

end.

输出:

6.program gao7_2;

var p,q,s,t:integer;

begin

readln(p);

for q:=p+1 to 2*p do

begin

t:=0;s:=(p*q) mod (q-p);

if s=0 then begin t:=p+q+(p*q) div (q-p); write(t:4);end;

end;

end.

输入:P=12 输出

7.program gao7_3;

var i,j,h,m,n,k:integer;

b:array[1..10] of integer;

begin

readln(n);

for i:=1 to 10 do

begin

m:=n;j:=11;

while m>0 do

begin j:=j-1;b[j]:=m mod 10;m:=m div 10;end; for h:=j to 10 do n:=n+b[h];

end;

writeln(n);

end.

输入:N=1234 输出:

8.program gao7_4;

var x,y1,y2,y3:integer;

b:array[1..10] of integer;

begin

readln(x);

y1:=0;y2:=1;y3:=1;

while y2<=x do

begin

y1:=y1+1;y3:=y3+2;y2:=y1+y3;

end;

writeln(y1);

end.

输人:x=23420

输出:

信息学奥赛NOIP初赛复习知识点

信息学奥赛NOIP初赛复习知识点 1、计算机相关科学家: A:被西方人誉为“计算机之父”的美籍匈牙利科学家、数学家冯·诺依曼于1945年发表了一个 全新的"存储程序通用电子计算机方案"—EDVAC。EDVAC方案提出了著名的“ 冯·诺依曼体系结构”理论:(1)采用二进制形式表示数据和指令(2)采用存储程序方式(3)由运算器、存储器、控制器、输 入设备和输出设备五大部件组成计算机系统 B:“图灵机”与“冯·诺伊曼机”齐名,被永远载入计算机的发展史中。1950年10月,图灵又发表了另 一篇题为“机器能思考吗”的论文,成为划时代之作。也正是这篇文章,为图灵赢得了“人工智能之父”的桂冠。与计算机有关的最高奖项“图灵奖”。 2、与竞赛有关的知识: A:信息学奥赛相关的软件有:anjuta 1.2.2版; Red Hat 9.0 自带了gcc/g++ 3.2.2版; Lazarus 0.9.10版;free pascal编译器 2.0.1版; gdb 6.3版;RHIDE;(turbo pascal淘汰) 3、与计算机系统相关的知识: A:常见的操作系统有:DOS、WIN32、WIN95、WIN98、WIN2000、WINXP、WIN2003、WIN2007、LINUX、VISTA 4、与计算机软件相关的知识:无 5、与计算机硬件相关的知识: A:断电后能保存信息的有:ROM(只读存储器)、硬盘、软盘、光盘、U盘、MP3、MP4等;不能保存的主要是RAM(读写存储器)。 B:CPU又名中央处理器,它可以拆分成运算器、控制器 6、病毒及防火墙: A:防火墙的作用是防止黑客攻击。 7、与编程语言相关的知识: A:1972年PARC发布了Smalltalk的第一个版本。大约在此时,“面向对象”这一术语正式确定。Smalltalk被认为是第一个真正面向对象的语言 B:第一代语言:机器语言(0101001);第二代语言:20世纪50年代,汇编语言,第三代语言:高级语言、算法语言,如BASIC,FORTRAN,COBOL,PASCAL,C;高级语言的特点是可读性强,编 程方便;第四代语言:非过程化语言;SQL;第五代语言:智能性语言,PROLOG(代表);还有:LISP,APL,SNOBOL,SIMULA。

信息学奥赛培训计划(复赛)

信息技术学科信息学奥赛社团培训计划 制定人:玄王伟 2018年10月

信息学奥赛培训计划方案推进信息技术教育是全面实施素质教育的需要,是培养具有创新精神和实践能力的新型人才的需要。信息学奥赛的宗旨为:“丰富学生课余生活,提高学生学习兴趣,激发学生创新精神。”为此,我们应以竞赛作为契机进而培养学生综合分析问题、解决问题的意识和技能。 为响应学校号召,积极参与信息技术奥林匹克竞赛,校本课程特别开设C++语言程序设计部分,利用社团活动时间对部分学生进行辅导。教学材料以信息学奥赛一本通训练指导教程为主,力图让学生们对编写程序有较深入了解的同时,能够独立编写解决实际问题的算法,逐步形成解题的思维模式。因学习内容相对中小学学生具有一定的难度,本课程采用讲练结合的形式,紧紧围绕“程序=算法+数据结构”这一核思想,以数学问题激发学生学习兴趣,进而达到学习目标。为更好地保证信息学奥赛的培训效果,特制订本培训计划。 一、培训目标 1.使学生具备参加全国信息学奥林匹克竞赛分区联赛NOIP(初赛、复赛)的能力。 2.使学生养成较好的抽象逻辑推理能力、严谨的思维方式和严密的组织能力,并使学生的综合素质的提高。 3.使学生初步具备分析问题和设计算法的能力。 二、培训对象 我校小学及初中对信息学感兴趣且初赛成绩较好的学生,人数共

计14人,其中小学组12人,普及组2人。 三、培训要求 严格培训纪律,加强学生管理;信息学社团的组建由学生自愿报名、教师考察确定;培训过程中做与培训无关的事如打游戏、上网聊天等,一经发现作未参加培训处理;规定的作业、练习必须按时保质保量完成,否则按未参加培训处理。 四、培训内容 1.深入学习计算机基础知识,包括计算机软硬件系统、网络操作、信息安全等相关知识内容,结合生活实际让学生真正体会到参加信息学奥赛的乐趣。 2.全面学习C++语言的基础知识、学会程序的常用调试手段和技巧,在用C++解决问题的过程中引入基础算法的运用。 3.深入学习各类基础算法,让学生真正理解算法的精髓,遵循“算法+数据结构=程序”的程序设计思想,在算法设计的教学实例中引入数据结构的学习,从而形成一定的分析和解决问题的能力。 4.以实例为基础,展开强化训练,使学生开始具备运用计算机独立解决实际问题的能力。用计算机解决现实问题的最重要的一个前提就是数据模型的建立和数据结构的设计。数据模型的建立、数学公式的应用,是计算机解决问题的关键。因此,加强与数学学科的横向联系非常必要。 五、培训时间 自2018年10月份第三周开始至2018年11月中旬结束,包括每

信息学奥赛培训之循环结构综合练习题

1、数列求和。(progression.cpp) 有数列2/3、4/5、6/9、10/15、16/25……求此数列前K项的和,K从键盘输入,结果保留6位小数。 输入格式: 一行,1个正整数k,1<=k<=20。 输出格式: 一行,1个实数,即数列前k项的和,保留6位小数。 样例输入: 1 样例输出: 0.666667 2、找数(number.cpp) 输出n~m中(含n和m)能被3整除,且至少有一个数字是5的所有数。 输入格式: 一行,两个用空格隔开的正整数n和m,且0

一行,一个正整数,表示最后还亮着的灯的盏数。 样例输入: 10 样例输出: 4 4、鸡兔同笼。(animal.cpp ) 鸡兔同笼,共有m 个头,n 只脚.求笼中鸡兔各有多少只? 输入格式: 一行,两个正整数m 和n ,分别表示头的个数和脚的只数。 输出格式: 一行,两个正整数用空格隔开,分别表示鸡和兔的只数。 样例输入: 30100 样例输出: 1020 5、求圆周率的近似值。(pi.cpp ) 已知圆周率π可以用以下公式求得: ????????≈∏7 656543432122现给出项数n ,要求利用前n 项的积求出π的近似值。 输入格式: 一行,一个正整数n ,100<=n<=1000000,表示项数。 输出格式: 一行,一个实数,保留6位小数。即π的近似值。 样例输入: 100 样例输出: 3.126079 6、数页码(page.cpp ) 一本书共有n 页,小明想知道页码中数字0和1分别出现了多少次。请编

初中信息学竞赛练习题

一、单选 1、关于计算机内存下面的说法哪个是正确的: A)随机存储器(RAM)的意思是当程 序运行时,每次具体分配给程序的 内存位置是随机而不确定的。 B)1MB内存通常是指1024*1024字节 大小的内存。 C)计算机内存严格说来包括主存 (memory)、高速缓存(cache)和 寄存器(register)三个部分。 D)一般内存中的数据即使在断电的情 况下也能保留2个小时以上。 2、关于CPU下面哪个说法是正确的: A)CPU全称为中央处理器(或中央处 理单元)。 B)CPU可以直接运行汇编语言。 C)同样主频下,32位的CPU比16位 的CPU运行速度快一倍。 D)CPU最早是由Intel公司发明的。 3. 下列网络上常用的名字缩写对应的中文解释错误的是()。 A. WWW(World Wide Web):万维网。 B. URL(Uniform Resource Locator):统一资源定位器。 C. HTTP(Hypertext Transfer Protocol):超文本传输协议。 D. FTP(File Transfer Protocol):快速传输协议。 E. TCP(Transfer Control Protocol):传输控制协议。 4. 设A=true,B=false,C=true, D=false,以下逻辑运算表达式值为真的是()。 A. (A∧B)∨(C∧D∨?A) B. ((?A∧B)∨C)∧?D C. (B∨C∨D)∧D∧A D. A∧(D∨?C)∧B 5. 在下列关于计算机语言的说法中,不正确的是()。 A. Pascal和C都是编译执行的高级语言 B. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上 C. C++是历史上的第一个支持面向对象的计算机语言 D. 与汇编语言相比,高级语言程序更容易阅读 6.某个车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时刻该车站状态为空,从这一时刻开始的出入记录为:“进,出,进,进,进,出,出,进,进,进,出,出”。假设车辆入站的顺序为1,2,3,……,则车辆出站的顺序为()。 A. 1, 2, 3, 4, 5 B. 1, 2, 4, 5, 7 C. 1, 4, 3, 7, 6 D. 1, 4, 3, 7, 2 7.在C语言中,判断a不等于0且b不等于0的正确的条件表达式是() A. !a==0 || !b==0 B. !((a==0)&&(b==0)) C. !(a==0&&b==0) D. a && b 8.(2010)16 + (32)8的结果是()。 A. (8234)10 B. (202B)16 C. (20056)8 D. (100000000110)2 9.在C程序中,表达式200|10的值是() A. 20 B. 1 C. 220 D. 202 10.在下列各项中,只有()不是计算机存储容量的常用单位。 A. Byte B. KB C.UB D.TB 11.LAN 的含义是()。 A. 因特网 B. 局域网 C.广域网 D.城域网 12.以下断电之后仍能保存数据的有()。 A. 硬盘 B. 高速缓存 C. 显存 D. RAM

信息学奥赛一本通算法(C 版)基础算法:高精度计算资料

信息学奥赛一本通算法(C++版)基础算法:高精度计算 高精度加法(大位相加) #include using namespace std; int main() { char a1[100],b1[100]; int a[100],b[100],c[100];//a,b,c分别存储加数,加数,结果 int lena,lenb,lenc,x,i; memset(a,0,sizeof(a));//数组a清零 memset(b,0,sizeof(b));//数组b清零 memset(c,0,sizeof(c));//数组c清零 //gets(a1); //gets(b1); //getchar(); while(scanf("%s%s",&a1,&b1)!=EOF) { lena=strlen(a1); lenb=strlen(b1); for(i=0;i<=lena;i++) a[lena-i]=a1[i]-'0';//将数串a1转化为数组a,并倒序存储 //a[i]=a1[lena-i-1]-48; for(i=0;i<=lenb;i++) b[lenb-i]=b1[i]-'0';//将数串a1转化为数组a,并倒序存储 //b[i]=b1[lenb-i-1]-48; lenc=1; //lenc表示第几位 x=0; //x是进位 while(lenc<=lena||lenc<=lenb) { c[lenc]=a[lenc]+b[lenc]+x;//第lenc位相加并加上次的进位 x=c[lenc]/10;//向高位进位 c[lenc]%=10;//存储第lenc位的值 lenc++;//位置下标变量 } c[lenc]=x; if(c[lenc]==0) lenc--; //处理最高进位 for(i=lenc;i>=1;i--) cout<

信息学奥赛试题

第19届全国青少年信息学(计算机)奥林匹克BASIC 试题说明: 请考生注意,所有试题的答案要求全部做在答题纸上。 一、基础知识单项选择题(共10题,每小题3分,共计30分) 1、存储容量2GB相当于() A、2000KB B、2000MB C、2048MB D、2048KB 2、输入一个数(可能是小数),再按原样输出,则程序中处理此数的变量最好使用() A、字符串类型 B、整数类型 C、实数类型 D、数组类型 3、下列关于计算机病毒的说法错误的是() A、尽量做到使用正版软件,是预防计算机病毒的有效措施。 B、用强效杀毒软件将U盘杀毒后,U盘就再也不会感染病毒了。 C、未知来源的程序很可能携带有计算机病毒。 D、计算机病毒通常需要一定的条件才能被激活。 4、国标码的“中国”二字在计算机内占()个字节。 A、2 B、4 C、8 D、16 5、在计算机中,ASCⅡ码是( )位二进制代码。 A、8 B、7 C、12 D、16 6、将十进制数2013转换成二进制数是( )。 A、11111011100 B、11111001101 C、11111011101 D、11111101101 7、现有30枚硬币(其中有一枚假币,重量较轻)和一架天平,请问最少需要称几次,才能找出假币( )。 A、3 B、4 C、5 D、6 8、下列计算机设备中,不是输出设备的是()。 A、显示器 B、音箱 C、打印机 D、扫描仪 9、在windows窗口操作时,能使窗口大小恢复原状的操作是() A、单击“最小化”按钮 B、单击“关闭”按钮 C、双击窗口标题栏 D、单击“最大化”按钮 10、世界上第一台电子计算机于1946年诞生于美国,它是出于()的需要。 A、军事 B、工业 C、农业 D、教学二、问题求解(共2题,每小题5分,共计10分) 1、请观察如下形式的等边三角形: 边长为 2 边长为4 当边长为2时,有4个小三角形。 问:当边长为6时,有________个小三角形。 当边长为n时,有________个小三角形。 2、A、B、C三人中一位是工人,一位是教师,一位是律师。已知:C比律师年龄大,A和教师不同岁,B比教师年龄小。问:A、B、C分别是什么身分? 答:是工人,是教师,是律师。 三、阅读程序写结果(共4题,每小题8分,共计32分) 1、REM Test31 FOR I =1 TO 30 S=S+I\5 NEXT I PRINT S END 本题的运行结果是:( 1) 2、REM Test32 FOR I =1 TO 4 PRINT TAB (13-3*I); N=0 FOR J =1 TO 2*I-1 N=N+1 PRINT N; NEXT J PRINT NEXT I END 本题的运行结果是:( 2)

信息学奥赛基础知识习题(答案版)

信息学奥赛基础知识习题(答案版) 一、选择题(下列各题仅有一个正确答案,请将你认为是正确的答案填在相应的横线上) 1.我们把计算机硬件系统和软件系统总称为 C 。 (A)计算机CPU (B)固 件 (C)计算机系统 (D)微处 理机 2.硬件系统是指 D 。 (A)控制器,器运算 (B)存储器,控制器 (C)接口电路,I/O设备 (D)包括(A)、(B)、(C) 3. 计算机软件系统包括 B 。 A) 操作系统、网络软件 B) 系统软件、应用软件 C) 客户端应用软件、服务器端系统软件 D) 操作系统、应用软件和网络软件4.计算机硬件能直接识别和执行的只有 D 。 (A)高级语言 (B)符号语言 (C)汇编语言 (D)机器语言 5.硬盘工作时应特别注意避免 B 。 (A)噪声 (B)震动 (C)潮 湿 (D)日光 6.计算机中数据的表示形式是 C 。 (A)八进制 (B)十进制 (C)二进 制 (D)十六进制

7.下列四个不同数制表示的数中,数值最大的是 A 。 (A)二进制数11011101 (B)八进制数334 (C)十进制数219 (D)十六进制 数DA 8.Windows 9x操作系统是一个 A 。 (A)单用户多任务操作系统 (B)单用户单任务操 作系统 (C)多用户单任务操作系统 (D)多用户多任务操 作系统 9.局域网中的计算机为了相互通信,必须安装___B__。 (A)调制解调器(B)网卡(C)声卡(D)电视卡 10.域名后缀为edu的主页一般属于__A____。 (A)教育机构(B)军事部门(C)政府部门(D)商业组织 11. 在世界上注册的顶级域名是__A____。 (A)hk(B)cn(C)tw(D) 12.计算机能够自动、准确、快速地按照人们的意图进行运行的最基本思想是( D )。 (A)采用超大规模集成电路(B)采用CPU作为中央核心部件 (C)采用操作系统(D)存储程序和程序控制 13.设桌面上已经有某应用程序的图标,要运行该程序,可以 C 。 (A)用鼠标左键单击该图标 (B)用鼠标右键单击该 图标 (C)用鼠标左键双击该图标 (D)用鼠标右键双击该 图标

信息学奥赛一本通题解目录-信息学奥赛取消

信息学奥赛一本通题解目录:信息学奥赛取消 第1章 数论1.1 整除1.2 同余1.3 最大公约数1.3.1 辗转相除法1.3.2 进制算法1.3.3 最小公倍数1.3.4 扩展欧几里得算法1.3.5 求解线性同余方程1.4 逆元1.5 中国剩余定理1.6 斐波那契数1.7 卡特兰数1.8 素数1.8.1 素数的判定1.8.2 素数的相关定理1.8.3 Miller-Rabin素数测试1.8.4 欧拉定理1.8.5 PollardRho算法求大数因子1.9

Baby-Step-Giant-Step及扩展算法1.10 欧拉函数的线性筛法1.11 本章习题第2章群论2.1 置换2.1.1 群的定义2.1.2 群的运算2.1.3 置换2.1.4 置换群2.2 拟阵2.2.1 拟阵的概念2.2.2 拟阵上的最优化问题2.3 Burnside引理2.4 Polya定理2.5 本章习题第3章组合数学3.1 计数原理3.2 稳定婚姻问题3.3 组合问题分类3.3.1 存在性问题3.3.2 计数性问题3.3.3 构造性问题3.3.4 最优化问题3.4 排列3.4.1

选排列3.4.2 错位排列3.4.3 圆排列3.5 组合3.6 母函数3.6.1 普通型母函数3.6.2 指数型母函数3.7 莫比乌斯反演3.8 Lucas定理3.9 本章习题第4章概率4.1 事与概率4.2 古典概率4.3 数学期望4.4 随机算法4.5 概率函数的收敛性4.6 本章习题第5章计算几何5.1 解析几何初步5.1.1 平面直角坐标系5.1.2 点5.1.3 直线5.1.4 线段5.1.5 多边形5.1.6

青少年中学生信息学奥赛试题精选33题(附带题解)

青少年中学生信息学奥赛试题精选33题(附带题解) 第1~10题为基础题,第11~20题为提高题,第21~33为综合题 基础题: 【1 Prime Frequency】 【问题描述】 给出一个仅包含字母和数字(0-9, A-Z 以及a-z)的字符串,请您计算频率(字符出现 的次数),并仅报告哪些字符的频率是素数。 输入: 输入的第一行给出一个整数T( 0

双素数(Twin Primes)是形式为(p, p+2),术语“双素数”由Paul St?ckel (1892-1919)给出,前几个双素数是(3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43)。在本题中请你给出第S对双素数,其中S是输入中给出的整数。 输入: 输入小于10001行,每行给出一个整数S (1≤ S≤ 100000),表示双素数对的序列编号。输入以EOF结束。 输出: 对于输入的每一行,输出一行,给出第S对双素数。输出对的形式为(p1,空格p2),其中“空格”是空格字符(ASCII 32)。本题设定第100000对的素数小于20000000。 样例输入样例输出 1 2 3 4 (3, 5) (5, 7) (11, 13) (17, 19) 注: 试题来源:Regionals Warmup Contest 2002, Venue: Southeast University, Dhaka, Bangl adesh 在线测试:UVA 10394 提示 设双素数对序列为ans[]。其中ans[i]存储第i对双素数的较小素数(1≤i≤num)。ans[]的计算方法如下: 使用筛选法计算出[2,20000000]的素数筛u[]; 按递增顺序枚举该区间的每个整数i:若i和i+2为双素数对(u[i]&&u[i+2]),则双素数对序列增加一个元素(ans[++num]=i)。 在离线计算出ans[]的基础上,每输入一个编号s,则代表的双素数对为(ans[s],ans[s]+ 2)。 【3 Less Prime】 【问题描述】 设n为一个整数,100≤n≤10000,请找到素数x,x≤ n,使得n-p*x最大,其中p是整数,使得p*x≤n<(p+1)*x。 输入: 输入的第一行给出一个整数M,表示测试用例的个数。每个测试用例一行,给出一个 整数N,100≤N≤10000。 输出: 2

信息学奥赛比赛练习题

A类综合习题 1.一种计算机病毒叫黑色星期五,如果当天是13号,又恰好是星期五,就会发作起来毁球计算机的存储系统,试编程找出九十年代中这种病毒可能发作的日期。 2.任意给定一个自然数N,要求M是N的倍数,且它的所有各位数字都是由0或1组成,并要求M尽可能小。 例:N=3―――>M=3*37=111,N=31―――>M=31*3581=111011 3.合下面条件的5个正整数: (1)5个数之和为23; (2)从这5个数中选取不同的数作加法,可得1-23中的所有自然数,打印这5个数及选取数组成的1--23的加法式。 4.将数字65535分解成若干个素数之积。 5.由1..9这九个数字组成的九位数(无重复数字)能被11整除,求最大、最小值。 6.某次智力测验,二等奖获得者共三人,以下奖品每人发给两样: ①钢笔②集邮本③影集④日记本⑤圆珠笔⑥象棋 打印各种分配方案及总分配数。 7.个同样种类的零件,已知其中有一个是次品,比正品较轻,仅限用天平称4次,把次品找出来,要求打印每次称量过程。 8.输入N个数字(0-9),然后统计出这组数中相邻两数字组成的数字对出现的次数。 如:0,1,5,9,8,7,2,2,2,3,2,7,8,7,9,6,5,9中可得到: (7,8)数字对出现次数2次,(8,7)数字对出现次数为3次。 9.由M个数字构成一个圆,找出四个相邻的数,使其和为最大、最小。 10.输一个十进制数,将其转换成N进制数(0<N<=16)。 11.读入N,S两个自然数(0<=S,N<=9),打印相应的数字三角形(其中,S表示确定三角形的第一个数,N表示确定三角形的行数)。 例:当N=4,S=3时打印:当N=4。S=4时打印: 3{首位数为奇数} {首位数为偶数} 4 4 5 &nb sp; 6 5 6 7 8 9 8 7 9 1 2 3 4 3 2 1 12.如图所示的9*9的矩阵中,除了10个格是空的外,其余的都填上了字符"*",这10个空的格子组成了一个五角星图案的10个交叉点。 下矩阵为输入(1,5)时的输出 * * * * * * * * * * * * 0 * * * * * * * * * * * * * * * * * * * * * * * * * * * 4 * * 7 * 3 * * 6 * * * * * * * * * * * * * * * * * * * * * * * * * * * 1 * * * 9 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5 * * * * * * * * * * * * * * * * * * * * * *

信息学竞赛习题解答5(模拟)

《算法与程序实践》习题解答5——模拟 现实中的有些问题,难以找到公式或规律来解决,只能按照一定步骤,不停地做下去,最后才能得到答案。这样的问题,用计算机来解决十分合适,只要能让计算机模拟人在解决此问题的行为即可。这一类的问题可以称之为“模拟题”。比如下面经典的约瑟夫问题: CS51:约瑟夫问题 (来源:https://www.wendangku.net/doc/b617788092.html, 2746,程序设计导引及在线实践(李文新)例6.1 P141) 问题描述: 约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从 1 开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。 输入: 每行是用空格分开的两个整数,第一个是n,第二个是m ( 0 < m, n < 300) 。最后一行是: 0 0 输出: 对于每行输入数据(最后一行除外),输出数据也是一行,即最后猴王的编号。 样例输入: 6 2 12 4 8 3 0 0 样例输出: 5 1 7 解题思路: 初一看,很可能想把这道题目当作数学题来做,即认为结果也许会是以n和m为自变量的某个函数f(n,m),只要发现这个函数,问题就迎刃而解。实际上,这样的函数很难找,甚至也许根本就不存在。用人工解决的办法就是将n个数写在纸上排成一圈,然后从1开始数,每数到第m个就划掉一个数,一遍遍做下去,直到剩下最后一个。有了计算机,这项工作做起来就会快多了,我们只要编写一个程序,模拟人工操作的过程就可以了。 用数组anLoop来存放n个数,相当于n个数排成的圈;用整型变量 nPtr指向当前数到的数组元素,相当于人的手指;划掉一个数的操作,就用将一个数组元素置0的方法来实现。人工数的时候,要跳过已经被划掉的数,那么程序执行的时候,就要跳过为0的数组元素。需要注意的是,当nPtr指向anLoop中最后一个元素(下标n-1)时,再数下一个,则nPtr要指回到数组的头一个元素(下标0),这样anLoop才象一个圈。 参考程序: #include

C++入门培训讲义

武平一中信息学奥林匹克竞赛校本课程 C++编程 第一课时:认识C++程序和DEV-C++集成开发环境 一.学习目标: 1.认识C++程序结构; 2.掌握编程基本步骤; 3.记住“保存”、“编译”和“运行”的快捷键(ctrl+s、F9、F10) 二.学习内容与步骤: 1.双击桌面图标,启动DEV-C++集成开发环境,单击“文件”菜单下的“新建——>源代码”命令,在程序编辑区输入下面程序: #include #include using namespace std; int main() { cout<<"hello"; system("pause"); return 0; } 2.输入完毕,单击“文件”菜单下的保存命令。在弹出的“保存文件”对话框中保存位置选择“桌面”,文件名为“ex1”,文件类型为c++不必修改,单击保存。 3.单击“运行”菜单下的“编译”命令,窗口出现红色条时说明程序有错误,请对照修改,直到正确为止。 4.单击“运行”菜单下的“运行”命令;弹出新窗口,观察新窗口中内容,按一下键盘任意键(通常按空格键),返回编辑界面。 5.单击“文件”菜单“退出”命令,结束。 6.观察桌面的ex1.cpp和ex1.exe两个文件,双击“ex1.exe”试试,ex1.cpp 称为源程序,ex1.exe称为可执行程序,虽然这个程序简单了一点,但是电脑中的程序就是这样设计出来的。 7.参考以上步骤,输入下面这个程序: #include using namespace std; int main() { int a,b,c;

(noip2019)二十三届全国青少年信息学奥赛初赛试题及答案c++.doc

言简意赅,远见卓识,望君采纳,谢谢!删除水印可,编辑页眉,选中水印,点击删除。 第二十三届全国青少年信息学奥林匹克联赛初赛 普及组 C++ 语言试题 竞赛时间: 2019 年 10 月 14 日 14:30~16:30 选手注意: ●试题纸共有 7 页,答题纸共有 2 页,满分 100 分。请在答题纸上作答,写在试题纸上的一律无效。 ●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。 一、单项选择题(共20 题,每题 1.5 分,共计30 分;每题有且仅有一个正确选项) 1.在 8 位二进制补码中, 10101011 表示的数是十进制下的()。 A. 43 B. -85 C. -43 D. -84 2. 计算机存储数据的基本单位是( A. bit B. Byte C. GB )。 D. KB 3.下列协议中与电子邮件无关的是()。 A. POP3 B. SMTP C. WTO D. IMAP 4. 分辨率为 A. 937.5KB 800x600 、16 位色的位图,存储图像信息所需的空间为( B. 4218.75KB C. 4320KB D. 2880KB )。 5.计算机应用的最早领域是()。 A. 数值计算 B. 人工智能 C. 机器人 D. 过程控制 6.下列不属于面向对象程序设计语言的是 ( A. C B. C++ C. Java D. C# )。 7.NOI 的中文意思是()。 A. 中国信息学联赛 B. 全国青少年信息学奥林匹克竞赛 C. 中国青少年信息学奥林匹克竞赛 D. 中国计算机协会 8.2017 年 10 月 1 日是星期日, 1999 年 10 月 1 日是()。 A. 星期三 B. 星期日 C. 星期五 D. 星期二

信息学竞赛 排序与质数练习题

Summary Problems Problem #1 Count Description 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。 Input Format 输入文件count.in包含n+1行;第一行是整数n,表示自然数的个数;第2~n+1每行一个自然数。 Output Format 输出文件count.out包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。Sample Input 8 2

4 2 4 5 100 2 100 Sample Output 2 3 4 2 5 1 100 2 Data Range 40%的数据满足:1<=n<=1000 80%的数据满足:1<=n<=50000 100%的数据满足:1<=n<=200000,每个数均不超过1500 000 000(1.5*109)Problem #2 Decode Description 小s和小t为了打发无聊的数学课经常传小纸条。但是由于小纸条内容往往是一个secret,为了不让别人偷看到这个secret,小s用了一种编码方式。对于每个英文的大写字母都找到一个替换的字母。 这样原来的LOVE可能decode之后就变成HATE。这样传纸条的时候就不用担心secret被泄露了~ Input Format 第一行,一个字符串,长度不超过10000。只包含大写字母和空格。 第二行,一个长度为26的大写字符串,分别表示A~Z编码后变成什么大写字母。

信息学奥赛初赛试题(第十六届)

第十六届全国青少年信息学奥林匹克联赛初赛试题(提高组 Pascal 语言二小时完成) ●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●● 一.单项选择题(共10题,每题1.5分,共计15分。每题有且仅有一个正确答案。) 1.与16进制数 A1.2等值的10进制数是() A.101.2 B.111.4 C.161.125 D.177.25 2.一个字节(byte)由()个二进制组成。 A.8 B.16 C.32 D.以上都有可能 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. exe B. com C. dll D.以上都不是 5.如果在某个进制下等式7*7=41成立,那么在该进制下等式12*12=()也成立。 A. 100 B. 144 C. 164 D. 196 6.提出“存储程序”的计算机工作原理的是()。 A. 克劳德?香农 B.戈登?摩尔 C.查尔斯?巴比奇 D.冯?诺依曼 7.前缀表达式“+ 3 * 2 + 512 ” 的值是()。A. 23 B. 25 C. 37 D. 65 8.主存储器的存取速度比中央处理器(CPU)的工作速度慢的多,从而使得后者的效率受到影响。而根据局部性原理,CPU所访问的存储单元通常都趋于一个较小的连续区域中。于是,为了提高系统整体的执行效率,在CPU中引入了( )。A.寄存器 B.高速缓存 C.闪存 D.外存 9.完全二叉树的顺序存储方案,是指将完全二叉树的结点从上到下、从左到右依次存放到一个顺序结构的数组中。假定根结点存放在数组的1号位置上,则第k号结点的父结点如果存在的话,应当存放在数组中的()号位置。 A. 2k B. 2k+1 C. k/2下取整 D. (k+1)/2 10.以下竞赛活动中历史最悠久的是()。A. NOIP B.NOI C. IOI D. APIO 二.不定项选择题(共10题,每题1.5分,共计15分。每题正确答案的个数不少于1。多选或少选均不得分)。 1.元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第1个出栈的是R3,那么第5个出栈的可能是( )。A.R1 B.R2 C.R4 D.R5 2. Pascal语言,C语言和C++语言都属于( )。A.高级语言 B.自然语言 C.解释性语言 D.编译性语言

信息学奥赛基础知识习题(标准答案版)

信息学奥赛基础知识习题(答案版) 一、选择题(下列各题仅有一个正确答案,请将你认为是正确的答案填在相应的横线上) 1. 我们把计算机硬件系统和软件系统总称为 C 。 (A)计算机CPU (B)固 件 (C)计算机系统 (D)微处理机 2.硬件系统是指 D 。 (A)控制器,器运算 (B)存储器,控制器 (C)接口电路,I/O设备(D)包括(A)、(B)、(C) 3.计算机软件系统包括 B 。 A) 操作系统、网络软件B)系统软件、应用软件 C)客户端应用软件、服务器端系统软件 D) 操作系统、应用软件和网络软件 4.计算机硬件能直接识别和执行的只有D。 (A)高级语言(B)符号语言 (C)汇编语言(D)机器语言 5.硬盘工作时应特别注意避免B。 (A)噪声 (B)震动 (C)潮 湿(D)日光 6.计算机中数据的表示形式是C。

(A)八进制(B)十进制 (C)二进 制 (D)十六进制 7.下列四个不同数制表示的数中,数值最大的是 A 。 (A)二进制数11011101 (B)八进制数334 (C)十进制数219(D)十六进制数DA 8.Windows9x操作系统是一个 A 。 (A)单用户多任务操作系统(B)单用户单任务操作系统 (C)多用户单任务操作系统 (D)多用户多任务操作系统 9.局域网中的计算机为了相互通信,必须安装___B__。 (A)调制解调器(B)网卡(C)声卡(D)电视卡 10.域名后缀为edu的主页一般属于__A____。 (A)教育机构(B)军事部门(C)政府部门(D)商业组织 11.香港在世界上注册的顶级域名是__A____。 (A)hk(B)cn(C)tw(D)com 12.计算机能够自动、准确、快速地按照人们的意图进行运行的最基本思想是( D )。 (A)采用超大规模集成电路 (B)采用CPU作为中央核心部件 (C)采用操作系统(D)存储程序和程序控制 13.设桌面上已经有某应用程序的图标,要运行该程序,可以 C 。

noip信息学奥林匹克竞赛初赛阅读程序题c++版本真题练习

2015年信息学奥赛初赛练习题(一) 阅读程序写结果。(共4题,每题8分) 1.#include using namespace std; int a,b,c,d,e,ans; int main() { cin>>a>>b>>c; 3 d=a+b; 7 e=b+c; 10 ans=d+e; cout< using namespace std; int n,i,ans; int main() { cin>>n; ans=0; for(i=1;i<=n;i++)1 1 1 1 1 1 if(n%i==0) ans++; cout< using namespace std; int n,i,j,a[100][100];

int solve(int x,int y) { int u,v; if(x==n) return a[x][y]; u=solve(x+1,y); v=solve(x+1,y+1); if(u>v) return a[x][y]+u; else return a[x][y]+v; } int main() { cin>>n; for(i=1;i<=n;i++) for(j=1;j<=i;j++) cin>>a[i][j]; cout< #include using namespace std; int n,i,j,ans; string s; char get(int i) { if(i

最不枯燥的排列组合学习!(信息学奥赛基础)

组合数学 >最不枯燥的排列组合学习! 尽管我在认真,刷题速度和学习进度还是要被大佬们甩好几条街…… 忙着刷题后期肯定没办法写总结, 就只好一边学习一边填坑啦啦啦。 ^上面的都是废话^ ————————————————————————————— 一、什么是组合数学(完全没用,建议跳) 对于很多计数类问题, 由于方案数过于巨大, 我们无法用搜索的方式来解决问题 因此我们需要对计数类问题进行一些优化 这些优化就是组合数学研究的内容 :(没错就是研究计数类问题) ———————————————————— 二、基本原理 加法原理:如果完成一件事有两类方法,第一类方法有m1种方案,第二类方法有m2种方案,那么完成这件事有m1+m2种方案将方案分类,类类相加,并且要不重不漏 乘法原理:如果完成一件事有两步,第一步有m1种方案,第二步方法有m2种方案,那么 完成这件事有m1*m2种方案将方案分步,步步相乘。 (这两种原理都好说,稍加理解立即明白,以下的知识几乎都要基于这两种原理咕~) 三、排列与组合 :(弱小的主角) 排列:从n个不同的元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫 做从n个不同元素中取出m个元素的一个排列 从n个数中取出m个数进行排列的方案数用符号A(nm)表示 公式:A(nm)=n*(n-1)*(n-2)*...*(n-m+1)=n!/(n-m)! (自己理解:第一个数字有n种选择,第二个数字有(n-1)中选择,以此类推,然后相乘) 组合:从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取 出m个元素的组合数从n个数中取出m个数的方案数用符号C(nm)表示 公式:C(nm)=A(nm)/A(mm)=n!/(m!(n-m)!) (自己理解:每一种组合有A(m,m)种排列,所以每一种组合被这A(m,m)中 排列算重了A(m,m)次,除掉就好啦)

信息学奥赛一本通算法(C版)基础算法:高精度计算

高精度加法(大位相加) #include using namespace std; int main() { char a1[100],b1[100]; int a[100],b[100],c[100];//a ,b,c 分别存储加数,加数,结果int lena,lenb,lenc,x,i; memset(a,0,sizeof(a));// 数组a 清零memset(b,0,sizeof(b));// 数组b 清零 memset(c,0,sizeof(c));// 数组c 清零//gets(a1); //gets(b1); //getchar(); while(scanf("%s%s",&a1,&b1)!=EOF) { lena=strlen(a1); lenb=strlen(b1); for(i=0;i<=lena;i++) a[lena-i]=a1[i]-'0';〃将数串al转化为数组a,并倒序存储//a[i]=a1[lena-i-1]-48; for(i=0;i<=lenb;i++) b[lenb-i]=b1[i]-'0';〃将数串al转化为数组a,并倒序存储//b[i]=b1[lenb-i-1]-48; lenc=1; //lenc 表示第几位 x=0; //x 是进位while(lenc<=lena||lenc<=lenb) { c[lenc]=a[lenc]+b[lenc]+x;// 第lenc 位相加并加上次的进位x=c[lenc]/10;// 向高位进 位 c[lenc]%=10;// 存储第lenc 位的值lenc++;// 位置下标变量 } c[lenc]=x; if(c[lenc]==0) lenc--; //处理最高进位 for(i=lenc;i>=1;i--) cout< using n amespace std; int mai n() { char n[256], n1[256], n2[256];

相关文档
相关文档 最新文档