- 26
- 0
- 约6.55千字
- 约 6页
- 2017-12-11 发布于河南
- 举报
pascal入门测验2(附答案)
小学复赛集训2
1.问题描述:某科技展教馆的团体入场费30人为50元,超过30人后,每增加1 人增加费用1元,为了使所有人平均后的每人费用不超过某个指定的费用m(1m≤1.7)元,问最少以几个人入场为好?指定费用m用键盘输入。例如:输入:m = 1.65
输出:ZuishaoRenshu:31
var i,j : longint; m,n : real;
begin write(M = ); readln(m);
i := 30; j := 50; n := 50/30;
while n m do begin i:=i+1;j:=j+1; n := j/i;
end;
writeln(i); readln;
end.
2.三位数345,345,称这个三位数为“迎春花”数,输出三位数中所有既是“迎春花”数又是质数的数,并统计个数。(127、137、……、569,S=20)
var x,a,b,c,s,y,h:integer;
begin for x:=100 to 999 do
begin a:=x div 100;b:=x div 10 mod 10;c:=x mod 10;
s:=0;for y:=1 to x do
if x mod y=0 then s:=s+1;
if (s=2) and (ab) and (bc) then begin write(x:4);h:=h+1 end;
end; write(s=,h);
end.
3.所有的正整数均可以表示为一个、两个或者多个连续的正整数之和,给定一个不超过30000的正整数,求出它可以用几种不同的方法表示成连续正整数之和。如给出9,则有三种方法:9,4+5,2+3+4。(注:方法5+4与方法4+5视为是相同的)
用键盘输入一个正整数n(1≤n≤30000),输出与之相应的不同方法种数。
输入输出样例:输入:n=9↙ 输出:3
var s,n,i,j,c:integer;
begin write(n=);readln(n);
c:=0; for i:=1 to n do
begin s:=0;j:=i;
while sn do begin s:=s+j; j:=j+1; end;
if s=n then c:=c+1;
end; writeln(c);
end.
4.任意输入一个自然数X,输出它对应的汉语拼音。如输入X=54,则输出 WUSI,若输入X=2789,则输出ERQIBAJIU。
var x,n,i:longint; Y,Y1:STRING;
begin read(x); IF X=0 THEN WRITE(LING);
while x0 do begin n:=x mod 10;
case n of
0:Y:=LING; 1:Y:=YI; 2:Y:=ER; 3:Y:=SAN; 4:Y:=SI;
5:Y:=WU; 6:Y:=LIU; 7:Y:=QI; 8:Y:=BA; 9:Y:=JIU;
END;
Y1:=Y+Y1; X:=X DIV 10;
END; WRITE(Y1);
END.
5.小雯去书店书,她选中了六本书,价格分别为A、B、C、D、E、F,但她只带了50元钱,只能买其中的几本书,问怎样买法使总钱数最接近50元(5000分),即剩余的钱最少。A、B、C、D、E、F用分表示,均由键盘输人,输出剩余的钱和购买的书。
输入输出样例:输入:
A,B,C,D,E,F= 340 1120 1890 1040 990 880↙
输出:70
B C D F6174。即:7641-1467=6174。将永远出不来。
输入一个四位数数字(全相同的除外),均能得到6174。输出掉进黑洞的步数。
var a,b,c,d,n,t,x,y,z:integer;
begin write(N=);readln(n); t:=0;
repeat
if n=6174 then break;
a:=n div 1000;b:=n div 100 mod 10;c:=n div 10 mod 10;
d:=n mod 10; if ab then begin x:=a;a:=b;b:=x;end;
if ac then begin x:=a;a:=c;c:=x;end;
if ad then begin x:=a;a:=d;d:=x;end;
if bc then begin x:=b;b:=c;c:=
原创力文档

文档评论(0)