发布时间 : 星期二 文章NOIP2004初赛普及组P试题与答案更新完毕开始阅读14e11edf7dd184254b35eefdc8d376eeafaa1796
a,b,c,x,y,z:integer; begin
read(u[0],u[1],u[2],u[3]); a:=u[0]+u[1]+u[2]+u[3]-5; b:=u[0]*(u[1]-u[2] div u[3]+8); c:=u[0]*u[1] div u[2] * u[3]; x:=(a+b+2)*3-u[(c+3) mod 4];
y:=(c*100-13) div a div (u[b mod 3]*5);
if ((x+y) mod 2=0) then z:=(a+b+c+x+y) div 2; z:=(a+b+c-x-y)*2; writeln(x+y-z); read(a); end.
输出:_____________________。 4、------------------------------------------- program program4 ; var c:array[1..2] of string[200]; s:array[1..10] of integer; m,n,i:integer ; procedure numara; var cod:boolean; i,j,nr:integer; begin
for j:=1 to n do begin nr:=0;cod:=true; for i:=1 to m do
if c[i,j]='1' then begin
if not cod then begin
cod:=true;inc(s[nr]);nr:=0; end end
else begin
if cod then begin
nr:=1;cod:=false ; end
else inc(nr); end;
if not cod then inc(s[nr]); end; end; begin
readln(m,n);
for i:=1 to m do readln(c[i]); numara;
5
for i:=1 to m do
if s[i] <>0 then write(i,' ',s[i],' '); read(i); end.
输出:_____________________。
四、完善程序(共28分) 1、三角形内切圆的面积
题目描述:给出三角形三边的边长,求此三角形内切圆的面积。
输入:三个正实数a、b、c(满足三角形三边关系),表示三角形三边边长。 输出:三角形内切圆的面积,结果四舍五入到小数点后2位 输入样例: 3 4 5 输出样例: 3.14 程序:①②③④⑤
PROGRAM PROGRAM1; VAR
A,B,C,R,S,T:REAL; BEGIN
READ(A,B,C); S :=( ① )/2; T:= ② (S*(S-A)*(S-B)*(S-C)); R:=T/S;
WRITELN(3.1415927 * R * ③ :0: ④ ; END.
2..Joseph 题目描述:
原始的Joseph问题的描述如下:有n个人围坐在一个圆桌周围,把这n个人依次编号为1,……,n。从编号是1 的人开始报数,数到m个人出列,然后从出列的下一个人重新开始报数,数到第m个人又出列,……,如此反复直到所有的人全部出列为止。比如当n=6,m=5的时候,出列的顺序依次是5,4,6,2,3,1。
现在的问题是:假设有k个好人和k个坏人。好人的编号是1到k,坏人的编号是k+1到2k。我们希望求出m的最小值,使得最先出列的k个人都是坏人。 输入:
仅有的一个数字是k (0 使得最先出列的k个人都是坏人的m的最小值。 输入样例: 6 4 输出样例: 30 程序: program progaram1; var i,k,m,start:longint; find:boolean; function check(remain:integer):boolean; var result:integer; begin result:=____(1)____ mod remain; if ____(2)____ then begin start:=result; check:=true; end else check:=false; end; begin find:=false; read(k); m:=k; while ____(3)____ do begin find:=true; start;=0; for i:=0 to k-1 do if (not check(____(4)____)) then begin find:=false; break; end; inc(m); end; writeln(____(5)____); end. 参考答案 一、1.C 2.B 3.D 4.C 5.E 6.A 7.B 8.D 9.C 10.A 11.D 12.C 13.D 14E 15.B 16.C 17.B 18.D 19.E 20.D 二、1.160元 2.10人 三、 1.-80 2.Dog-is-clever 3 . 263 4 . 1 12588 2 12337 3 12339 7 四、 1 . a+b+c SQRT R 2 2 . start+m-1 result>=k not(find) 2*k-I m-1 8