预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共32页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

forj:=1to5dowrite('*');外循环走一个,内循环走一轮题1208:数字走向I 输入整数N,输出相应方阵。 Input一个整数N。(0<n<10) Output一个方阵,每个数字的场宽为3。 SampleInput 5 SampleOutput 12345 678910 1112131415 1617181920 2122232425例一、计算s=1!+2!+3!+4!+5!+…10!Debug for循环1!+2!+…例一、计算s=1!+2!+3!+4!+5!+…10!Programs1; VarI,j:integer; s,t:longint; Begin s:=0;t:=1; forj:=1to10do Fori:=1tojdo t:=t*i; s:=s+t; write(t); End.Programs1; VarI,j:integer; s,t:longint; Begin s:=0; forj:=1to10do begin t:=1; Fori:=1tojdo t:=t*i; s:=s+t; End; End.Programs1; Vari:integer; s,t:longint; Begin s:=0;t:=1; fori:=1to10do begin t:=t*i,;s:=s+t; end; Write(s); End.练习1 编程: 求1-1/(1+2)+1/(1+2+3)-1/(1+2+3+4) +…-1/(1+2+3+…+100)的值。S:=0;x:=-1; Fori:=1to(100)do begin t:=0; forj:=1to(i)do t:=t+(j); x:=-1*x; s:=s+(1/t*x); end; write(‘s=‘;s); End.Begin s:=0;t:=0; fori:=1to100do begin (); (); end; Write(‘s=‘,s); end.例二:我国古代数学家张邱建编《张邱建算经》中记有有趣的数学问题:“今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。凡百钱,买鸡百只,问鸡翁、母、雏各几何?”你能用PASCAL程序解决这个问题吗?分析: 设公鸡X只,母鸡Y只,则小鸡应为100-X-Y只,由于母鸡一只三钱,公鸡一只五钱,小鸡三只一钱,正好把钱用完, 则存在方程5X+3Y+(100-X-Y)/3=100, 显然两个未知数是没办法救求得方程的解, 因而我们必须组合所有可能的X和Y,看是否满足条件。 这里的X可以是0至20,Y可以0至33只,来判断总和是否刚好为一百钱。programbaiji; vara,b,c:integer;{a为鸡翁,b为鸡母,c为鸡稚}begin fora:=0to20do forb:=0to33do begin c:=100-a-b; if(cmod3=0)then if(5*a+3*b+cdiv3=100)then writeln('jiweng=',a,'jimu=',b,'jizhi=',c); end; end.例二、求1——100之间的素数。(素数是大于 1,且除了1和它本身外,不能被其它任何 整数所整除的整数。) 讨论:根据素数的定义可知 2,3,5,7,11,13等是素数。 1,4,6,8,10,12,14,15等不是素数。 为了判断某数i是否为素数,一个最简单的办法是用2,3,4,……i-1这些数逐个去除i,看能否除尽。若被其中一个数除尽了,则i不是素数,否则(全部除不尽)i是素数。 当i较大时,用这种办法,除的次数太多。可以有许多改进办法,以减少除的次数,提高运行效率。下面介绍的是其中一种方法。 用2,3,4,…去除,如果都除不尽,则i是素数。 这是因为,如果小于等于的数都除不尽i,则大于的数也不能除尽。算法: Fori:=2to100do begin 1.用2到去除i,看能否除尽 2.if除不尽 then输出素数i end. programssh; var i,j:integer; flag:boolean; begin fori:=2to100do begin flag:=true; forj:=2toround(sqrt(i))do ifimodj=0 thenflag:=false; ifflagthenwrite(i:5); end; writeln; end.说明: 使用函数round的目的是将实型值sqrt(i)变为整型值。因为不允许循环变量的初、终值为实型(必须为有序类型)。 当i=2时,round(sqrt(i))=1,j循环的初值(2)大于终值,循环根本就不执行,flag仍保持为真,输出素数2,当i>2时,均执行循环体,flag可能被置为假,也可能仍保持为真,为真时即为