圣安地列斯赌场在哪:Pascal题目

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 17:34:38
1.某动物饲养中心用1700元专款购买小狗(每只31元)和小猫(每只21元)两种小动物。要求专款专用,正好用完, 应当如何购买?请输出所有方案。

2.编程求出所有不超过1000的数中,含有数字3的自然数,列出所有并统计总数。
最好用repeat ...until
做,我是初学者

1.
var i:integer;
begin
i:=0;
repeat
if (1700-i*31) mod 21=0 then
begin
write('dog:',i,' ');
writeln('cat:',(1700-i*31)div 21);
end;
i:=i+1;
until i>1700/31;
end.

2.
var i,zgs,temp:integer;
zh:longint;
fin:boolean;
begin
zgs:=0;
zh:=0;
i:=2;
repeat
temp:=i;
fin:=false;
while (temp<>0)and(not fin) do
begin
if temp mod 10=3 then
begin
zgs:=zgs+1;
zh:=zh+i;
fin:=true;
write(i:5);
end
else
temp:=temp div 10;
end;
i:=i+1;
until i=1001;
writeln;
writeln('there is ',zgs,' number.All together:' ,zh);
end.

1.数据小,用枚举法应该可以完成
2.用下列语句筛选:
(N,s:integer) [N代表1000内的数字,s为计数器]
for N:=3 to 993 do
begin
if N<100 then do
begin
if (N mod 10=3) or (N div 10=3) then do
begin
s:=s+1; writeln(N);
end
end
else if (N>100) then do
begin
if (N div 100=3) or ((N div 10)mod 10=3) or (N mod 10=3) then do
begin
s:=s+1; writeln(N);
end
if N=993 then writeln(s);
end
end

[这是程序主体,随便写的,有问题稍微改改就行]

1、
var
cat,dog: integer;
begin
//1700元,最多买0~1700除21只猫
for cat:=0 to (1700 div 21) do
begin
//买猫后,剩余的钱是否刚够买狗
//是,算出狗的数量;否,continue;
if (1700 - cat*21) mod 31 = 0 then
begin
dog := (1700 - cat*21) div 31;
wirteln('猫:',cat);
wirteln('狗:',dog);
end;
end;
end;