1、1数组一、数字数组ex1_1_1.pas级数求和(NOIP2002)【题目描述】已知:Sn=1+1/2+1/3+1/n。显然对于任意一个数 K,当 n.足够大的时候,Sn 大于K。 现给出一个整数 K(1K15),要求计算出一个最小的 n,使得 SnK 【输入】一行,一个整数 K【输出】一行,一个整数 n【输入样例】1【输出样例】2ex1_1_2.pas陶陶摘苹果(NOIP2005)【题目描述】陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 30 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知 10
2、个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。【输入】两行数据。第一行包含 10 个 100 到 200 之间(包括 100 和 200)的整数(以厘米为单位)分别表示 10 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个 100 到 120 之间(包含 100 和 120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。【输出】一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。【输入样例】100 200 150 140 129 134 167 198 200
3、 111110【输出样例】5ex1_1_3.pas数字统计(NOIP2010)【题目描述】请统计某个给定范围L, R的所有整数中,数字 2 出现的次数。比如给定范围2, 22,数字 2 在数 2 中出现了 1 次,在数 12 中出现 1 次,在数 20 中出现 1 次,在数 21 中出现 1 次,在数 22 中出现 2 次,所以数字 2 在该范围内一共出现了 6 次。【输入】共 1 行,为两个正整数 L 和 R,之间用一个空格隔开。【输出】共 1 行,表示数字 2 出现的次数。2【输入样例】2 22【输出样例】6【输入输出样例 2】2 100【输出】20【数据范围】1 L R 10000。ex
4、1_1_4.pas狐狸追兔子【题目描述】围绕着山顶有 m 个洞(mb,结果存放在C数组中。procedure jia( a,b:arr; var c:arr);var i,len:integer;beginfillchar(c,sizeof(c),0);if a0b0 then len:=a0 else len:=b0;for i:=1 to len do beginci:=ai+bi;ci+1:=ci div 10; /进位ci:=ci mod 10;end;if clen+10 then inc(len);c0:=len;end;procedure jian( a,b:arr; var c
5、:arr);var i,len:integer;beginfillchar(c,sizeof(c),0);len:=a0;for i:=1 to len do beginif ai0 then inc(len);c0:=len;end;plusReadln(x);For i:=1 to length(x) doAi:=ord(xlength(x)-i+1)-48;A0:=length(X);93高精度乘以单个数x(010 then beginAi+1:=ai+1+ai div 10; /进位处理Ai:=ai mod 10;End;While alen+10 do beginLen:=len+1
6、;If alen10 then beginAlen+1:=alen div 10;Alen:=alen mod 10;End;End;End;procedure cheng2(a,b:arr; var c:arrvar i,j,len:longint;beginfillchar(c,sizeof(c),0);for i:=1 to a0 dofor j:=1 to b0 do beginci+j-1:=ci+j-1+ai*bj;ci+j:=ci+j+ci+j-1 div 10;ci+j-1:=ci+j-1 mod 10;end;len:=a0+b0;while (len1) and (clen
7、=0) do len:=len-1;c0:=len;end;10ex2_1.pas麦森数(NOIP2003)【题目描述】形如 2P-1 的素数称为麦森数,这时 P 一定也是个素数。但反过来不一定,即如果 P 是个素数,2 P-1 不一定也是素数。到 1998 年底,人们已找到了 37 个麦森数。最大的一个是P=3021377,它有 909526 位。麦森数有许多重要应用,它与完全数密切相关。任务:输入 P(1000P3100000),计算 2P-1 的位数和最后 500 位数字(用十进制高精度数表示)【输入】只包含一个整数 P(1000P3100000)【输出】第一行:十进制高精度数 2P-1
8、 的位数。第 2-11 行:十进制高精度数 2P-1 的最后 500 位数字。(每行输出 50 位,共输出 10 行,不足 500 位时高位补 0)不必验证 2P-1 与 P 是否为素数。【输入样例】1279【输出样例】3860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040793219466439908192524032736408553861526224726670480531911235040360805
9、9673360298012239441732324184842421613954281007791383566248323464908139906605677320762924129509389220345773183349661583550472959420547689811211693677147548478866962501384438260291732348885311160828538416585028255604666224831890918801847068222203140521026698435488732958028878050869736186900714720710555703168729087ex2_2.pasHanoi 双塔问题(NOIP2007)【题目描述】给定 A,B,C 三根足够长的细柱,在 A 柱上放有 2n 个中间有空的圆盘,共有 n 个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为 n=3 的情形)。现要将这些圆盘移到 C 柱上,在移动过程中可放在 B 柱上暂存。要求: (1)每次只能移动一个圆盘; (2) A、B、C 三根细柱上的圆盘都要保持上小下大的顺序; 任务:设 An 为 2n 个圆盘完成上述任务所需的最少移动次数,对于输入的 n,输出 An。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。