pascal编程高手party

来源:百度知道 编辑:UC知道 时间:2024/07/05 06:56:58
1.某动物饲养中心用1700元专款购买小狗(每只31元)和小猫(每只21元)两种小动物。要求专款专用,正好用完, 应当如何购买?请输出所有方案。
2.小会议室里有几条相同的长凳,有若干人参加开会。如果每条凳子坐6人,结果有一条凳子只坐有3人;如果每条凳子坐5人,就有4人不得不站着。求会议室里有多少人开会,有多少条长凳
3.有三种明信片:第一种每套一张,售价2元;第二种每套一张,售价4元; 第三种每套9张,售价2元。现用100元钱要买100张明信片,要求每种明信片至少要买一套,问三种明信片应各买几套?请输出全部购买方案。
Last.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数, 求 1000以内满足条件的数。
好心人,帮帮忙吧!

1.program ex1;
var i,j:integer;
begin
for i:=0 to 1700 div 31 do
for j:=0 to 1700 div 21 do
if 31*i+21*j=1700 then
writeln('dog:',i,'cat',j);
readln;
end.
全搜索,将狗范围缩小至能满足条件的最小范围

2.program ex2;
var i,j:integer;
begin
for i:=1 to 7 do
for j:=4*i to 6*i do
if (6*(i-1)+3=j) and (5*i+4=j) then
break;
writeln(i,j);
end.
全搜索,因为凳子上一个人的变化差是7,所以凳子最大是7

3.program ex3;
var i,j,k:integer;
begin
for i:=1 to (100-2-4) div 2 do
for j:=1 to (100-2*i-2) div 4 do
for k:=1 to (100-2*i-4*j) div 2 do
if (i+j+9*k=100) and (2*i+4*j+2*k=100) then
writeln(i,j,k);
readln;
end.
仍是全搜索,由于有两个条件,可以用减法约束后两个变量的最大值

last:program exlast;
var i:integer;
function panduan(x:integer):boolean;
var p:boolean;s,q,e,sum:integer