信息奥赛题库(含答案).doc

上传人:cl****1 文档编号:543263843 上传时间:2023-04-12 格式:DOC 页数:37 大小:181.51KB
返回 下载 相关 举报
信息奥赛题库(含答案).doc_第1页
第1页 / 共37页
信息奥赛题库(含答案).doc_第2页
第2页 / 共37页
信息奥赛题库(含答案).doc_第3页
第3页 / 共37页
信息奥赛题库(含答案).doc_第4页
第4页 / 共37页
信息奥赛题库(含答案).doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《信息奥赛题库(含答案).doc》由会员分享,可在线阅读,更多相关《信息奥赛题库(含答案).doc(37页珍藏版)》请在金锄头文库上搜索。

1、 信息奥赛题库(2011-4-3) -【信息奥赛题库】 编制组打印杨辉三角前10行 标程program yhsj10;var yh:array1.10,0.10 of integer; i,j:integer;begin yh1,1:=1; for i:=2 to 10 do for j:=1 to i do yhi,j:=yhi-1,j+yhi-1,j-1; for i:= 1to 10do begin for j:=1 to i do write(yhi,j, ); writeln; end;End. 2.读入10个数,输出偶数项及它们和,输出奇数项及它们的平均数。 (读入10个数输出偶数

2、项及它们和输出奇数项及它们的平均数) 标程program exe6_1; var i,s,t,n:integer; a:array1.10 of integer;begin for i:=1 to 10 do read(ai); for i:=1 to 10 do if i mod 2 = 0 then begin write(ai, ); s:=s+ai; end; writeln(s); for i:=1 to 10 do if i mod 20 then begin write(ai, ); t:=t+ai; n:=n+1; end; writeln(t/n);end. 3.读入n个数,

3、打印其中的最大数及其位置号 (读入n个数打印其中的最大数及其位置号) 标程program exe6_2; var i,max,min,t,n:integer; a:array1.10 of integer; begin for i:=1 to 10 do read(ai); max:=a1; min:=a1; t:=1; n:=1; for i:=2 to 9 do begin if maxai then begin min:=ai; n:=I; end; end; writeln(max, ,t); writeln(min, ,n); end. 4.交换a和b的值 标程program p1_

4、1;var a,b,x:integer;begin read(a,b); x:=a; a:=b; b:=x;writeln(a, ,b);End.Problem 1 : leader2谁是组长2问题描述 八中信息组需要选一个组长。信息组一共有n个人,分别用1到n编号,其中m个人参与了投票。得票数过半(票数大于m div 2)的人将被选为组长。 输入数据将告知这m个人分别将票投给了谁,请统计出谁将担任八中信息组的组长。输入数据 第一行两个数n和m。 第二行有m个数,这些数都是不超过n的正整数,表明这m个人的选择。输出数据 输出将被选为组长的人。如果没有人的票数过半,请输出-1。输入样例7 47

5、7 2 7输出样例7时间限制 各测试点1秒内存限制 你的程序将被分配32MB的运行空间数据规模 1=n=maxlongint 1=m=1 000 000考察内容查找第k大元素program leader2;var a:array1.1000000of longint; n,m:longint;procedure readp;var i:longint;begin readln(n,m); for i:=1 to m do read(ai);end;procedure swap(var t1,t2:longint);var t3:longint;begin t3:=t1; t1:=t2; t2:

6、=t3;end;function find(l,r,k:longint):longint;var i,j,mid:longint;begin if l=r then exit(al); i:=l; j:=r; mid:=a(i+j)div 2; repeat while aimid do dec(j); if ij; if (l=j) and (k=j) then exit(find(l,j,k); if (i=i) then exit(find(i,r,k); exit(mid);end;function leader(x:longint):boolean;var i,count:longi

7、nt;begin count:=0; for i:=1 to m do if ai=x then inc(count); exit(countm div 2);end;=main=var x:longint;begin assign(input,leader2.in); reset(input); assign(output,leader2.out); rewrite(output); readp; x:=find(1,m,m div 2); if leader(x) then writeln(x) else writeln(-1); close(input); close(output);E

8、nd.Problem 2 : typewrt有故障的打字机问题描述 一台打字机准备将1到10n的数依次打出。在打印过程中,这台打字机出现了一个故障:数字“3”打不出来。因此,所有含有数字“3”的数都没有被正确地打出。试问没有被正确打出的数一共有多少个。输入数据 输入一个正整数n。输出数据 输出从1到10n这些数中不能被正确打印的数的个数。输入样例2输出样例19时间限制 各测试点1秒内存限制 你的程序将被分配32MB的运行空间数据规模 n0 then ans0:=a0+1 else ans0:=a0; exit(ans);end;=main=var i,n:integer; ans:arr;be

9、gin assign(input,typewrt.in); reset(input); assign(output,typewrt.out); rewrite(output); readln(n); ans0:=1; ans1:=1; for i:=1 to n do ans:=mul(ans,9); for i:=n downto 2 do write(9-ansi); writeln(10-ans1); close(input); close(output);End.Problem 3 : maxsum最大约数和问题描述 选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之

10、和最大。输入数据 输入一个正整数S。输出数据 输出最大的约数之和。样例输入11样例输出9样例说明 取数字4和6,可以得到最大值(1+2)+(1+2+3)=9。时间限制 各测试点1秒内存限制 你的程序将被分配32MB的运行空间数据规模 S=1000考察内容 0/1背包program maxsum;var a:array1.1000of longint; f:array0.1000,0.1000of longint; s:longint;function sum(x:longint):longint;var i,ans:longint;begin ans:=0; for i:=1 to x-1 do if x mod i=0 then ans:=ans+i; exit(ans);end;procedure solve;var i,j:longint;begin for i:=1 to s do for j:=1 to s do

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号