turbopascal11教学版.ppt_第1页
turbopascal11教学版.ppt_第2页
turbopascal11教学版.ppt_第3页
turbopascal11教学版.ppt_第4页
turbopascal11教学版.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2011年长沙市小学生计算机奥林匹克竞赛决赛试题,一、爱心捐赠:小明和小朋友们共同献爱心捐赠的图书共n类,每类m本。现在要将这些书全部分给各个希望小学,规定:分给每个希望小学的书数量相同,种类k尽量多,并且每类书数量=k。小明请你算算共能捐赠多少个希望小学?,varm,n,k:longint;beginreadln(n,m);k:=n+1;repeatk:=k-1;until(nmodk=0)and(mmodk=0);writeln(xuexiao=,n*mdiv(k*k);readln;end.,【输入】nm(n,m0dobeginifcmod10mod2=1thent:=t+1;c:=cdiv10;end;a:=amodb;fori:=1tondobegina:=a*10;ifadivbmod2=1thent:=t+1;a:=amodb;end;writeln(t);readln;end.,练习5:输入两个正整数A和B,其中A、B都小于32767,求AB的值。要求计算结果精确到小数点后N(1N200)位,求商的这N位小数中的奇数和整数部分的奇数共有几个?,输入:120720输出:12,(4)斐波那契公约(文件名:e4)对于Fibonacci数列:1,1,2,3,5,8,13.大家应该很熟悉吧但是现在han有一个很“简单”问题,:第n项和第m项的最大公约数是多少?,varm,n,a,b,c,x,fm,fn,t:longint;beginreadln(n,m);t:=2;a:=1;b:=1;repeatt:=t+1;c:=a+b;a:=b;(前项=后项,递推)b:=c;ift=nthenfn:=c;ift=mthenfm:=c;untilt=m;x:=fm+1;repeatx:=x-1;until(fnmodx=0)and(fmmodx=0);writeln(x);readln;end.,存在问题:(1)递推都错(2)第n项没算准(3)拷贝不走样,输入格式两个正整数n和m。(n,m=40)输出格式Fn和Fm的最大公约数。样例输入47样例输出1,变形的斐波那契问题描述:设有一个数列A1,A2,A3,AN,其中A1,A2由键盘输入,从A3开始,通过下列的公式计算:AN-2AN-1AN偶数奇数2AN-2+AN-1奇数偶数AN-2+2AN-1偶数偶数AN-2+AN-1+1奇数奇数AN-2+AN-1如:A1=1,A2=2,则A3=1+2*2=5,A4=4+5=9,A5=5+9=14,varn,a1,a2,a3,i:longint;beginwrite(N,A1,A2=);readln(n,a1,a2);fori:=3tondobeginif(a1mod2=0)and(a2mod2=1)thena3:=2*a1+a2;if(a1mod2=1)and(a2mod2=0)thena3:=a1+2*a2;if(a1mod2=0)and(a2mod2=0)thena3:=a1+a2+1;if(a1mod2=1)and(a2mod2=1)thena3:=a1+a2;a1:=a2;(前项=后项,递推)a2:=a3;end;writeln(A(,n,)=,a3);readln;end.,输入N和A1,A2,输出第N项。如输入:N,A1,A2=912则输出:A(9)=269,(5)阶乘非0位之和(文件名:e5)输入二个正整数n(n1000),x(x6),输出n的阶乘非0数字的最右x位的各位数字之和。,varn,x,i,s,t:longint;beginreadln(n,x);s:=1;fori:=1tondobegins:=s*i;whilesmod10=0dos:=sdiv10;s:=smod1000000;(一定要六位)end;writeln(s);(括号)t:=0;fori:=1toxdobegint:=t+smod10;s:=sdiv10;end;writeln(t);readln;end.,存在问题:(1)中间过程保留位数多了或少了(2)还有人先算全部再取舍(3)不能由x确定中间保留几位(4)先保留后去零,如:输入:185输出:22(18!=6402373705728000,0+5+7+2+8=22),(6)阶乘非0位之和(文件名:e6)输入二个正整数n(n1000),x(x6),输出n的阶乘非0数字的最右x位的各位数字之和。如:输入:185输出:22,varn,x,i,s,s1,t,t1:longint;beginreadln(n,x);s:=1;s1:=1;fori:=1tondobegins:=s*i;s1:=s1*i;whilesmod10=0dos:=sdiv10;whiles1mod10=0dos1:=s1div10;s:=smod10000000;s1:=s1mod100000;writeln(s:10,s1:10);end;t:=0;t1:=0;fori:=1toxdobegint:=t+smod10;s:=sdiv10;end;fori:=1toxdobegint1:=t1+s1mod10;s1:=s1div10;end;writeln(t:10,t1:10);readln;end.,11!:3991689916812!:47900169001613!:22702087020814!:17829128291215!:26743682436825!:98598410984,34!:9643526435235!:33752322523236!:1508352835237!:5809024902438!:7429124291239!:897356873568,(6)分数相加(文件名:e6)有n(1=n=4)个分数,求这n个分数的和。【输入】:第一行,n表示分数的个数,后面有n行给出n个分数,每个分数给出形式为xy(0=x=300,1ndiv2;ift=0thenwriteln(no);readln;End.,练习6:输入一个正整数n,输出一串连续整数的和,其和等于n,若不存在,输出no.,n=20102010=4+5+62+632010=91+92+109+1102010=127+128+140+1412010=162+163+172+1732010=400+401+402+403+4042010=501+502+503+5042010=669+670+671,【问题描述】康熙皇帝在一次学习数学的过程遇到这样一道题:对一个给定的自然数M,求出所有的连续的自然数段(连续个数大于1),这些连续的自然数段中的全部数之和为M。例子:1998+1999+2000+2001+2002=10000,所以从1998到2002的一个自然数段为M=10000的一个解。假设你是康熙皇帝的谋士,请

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论