资源描述:
《noip讲义3-复赛入门训练题例举.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、复赛入门训练题例举第一题表达式计算(源程序名:1.pas)问题描述:输入一个正整数N(1≤N≤500),求S=1+2-3+4+5-6+7+8-9+……+N,并统计其中共有多少个减号。输入文件:输入文件1.in只有1行,一个正整数n。输出文件:输出文件1.out也只有一行,二个整数,中间用空格隔开,分别表示S的值和减号的个数。样例:输入:15输出:305vari,s,k,n:longint;beginassign(input,'1.in');assign(output,'1.out');reset(input);rewrite(output);readln(n)
2、;s:=0;k:=0;fori:=1tondoifimod3=0thenbegink:=k+1;s:=s-i;endelses:=s+i;writeln(s,'',k);close(input);close(output);end.第二题尼科梅彻斯定理(文件名:2.pas)问题描述:任何一个正整数n的立方都可以写成一串连续的奇数之和,这就是著名的尼科梅彻斯定理。例如:13=123=3+533=7+9+1143=13+15+17+19现在当n给出之后,请你按从小到大的顺序输出这一串连续的奇数。输入文件:输入文件2.in只有一行,一个正整数n。(n<1000)输出
3、文件:输出文件2.out只有一行,符合要求的一串连续的奇数,各数间只能用一空格隔开,行尾不能有多余的空格和回车。样例:输入:4输出:13151719varn,i,k:longint;beginassign(input,‘2.in');reset(input);assign(output,‘2.out');rewrite(output);readln(n);k:=n*(n-1)+1;fori:=1ton-1dobeginwrite(k,'');k:=k+2;end;write(k);close(input);close(output);end.第三题神秘数(源程
4、序名:3.pas)问题描述:如果一个正整数能表示为两个连续偶数的平方差,那么称这个正整数为‘神秘数’。如4=22-02,12=42-22,20=62-42,因此4,12,20这三个数都是神秘数。现输入一个正整数n,请判断它是否是神秘数。如果是,则输出两个连续偶数;如果不是,则输出’No’。输入文件:输入文件3.in,只有1行,一个正整数n(n<=400000)。输出文件:输出文件3.out,只有一行,两个连续偶数(前小后大),中间用空格隔开。如不是神秘数,则输出’No’。样例:输入:28输出:68varn,m,s:longint;beginassign(inp
5、ut,'3.in');assign(output,'3.out');reset(input);rewrite(output);readln(n);if(nmod4=0)and(nmod8<>0)thenbeginm:=ndiv4;s:=(m+1)*(m+1)-(m-1)*(m-1);ifs=nthenwrite(m-1,'',m+1)elsewrite('No');endelsewrite('No');close(input);close(output);end.第四题表中找数(源程序名:4.pas)问题描述:观察下表,依据表格中数据排列的规律,请编程求出正整
6、数n在表中出现的次数。样例:输入:6输出:4vari,n,s:longint;beginassign(input,'4.in');assign(output,'4.out');reset(input);rewrite(output);read(n);fori:=1tondiv2doifnmodi=0thens:=s+1;write(s+1);close(input);close(output);end.{本题实际上是求数n的约数个数,包括1和本身}第五题数塔(源程序名:5.pas)将正整数按如图所示的规律排成一个数塔。请编程输出数塔中第m排的第n个数。如输入4
7、3,输出9.varm,n,i,k:longint;beginreadln(m,n);k:=0;fori:=1tom-1dok:=k+i;writeln(k+n);end.输入文件:输入文件5.in,只有1行,二个正整数m,n(m,n<=100)。输出文件:输出文件5.out,一个正整数.第六题矩阵(源程序名:6.pas)上图是一个6×6的矩阵,通过仔细观察,我们可以找出一些规律来。现在要求你按照上图规律输出一个N×N的矩阵。输入文件:输入文件6.in,只有1行,一个正整数n(n<=30)。输出文件:输出文件6.out,一个N×N的矩阵.vara:array[1
8、..100,1..100]ofinte