求算法:一張100元人民幣,換成10,5,2,1四種幣值,每種至少一張,總數為40張,有幾多換法,怎麼換? 求算法.(內空,免進)(10分)

  • 主题发起人 主题发起人 lzm
  • 开始时间 开始时间
四重循环就可以解决
 
我下次把书带过来抄给你
 
for a:=1 to 37do

for b:=1 to 38-ado

for c:=1 to 39-a-bdo

for d:=1 to 40-a-b-cdo

if 10*a+5*b+2*c+a=100 then

Memo1.Lines.Add(inttostr(a)+' '+inttostr(a)+' '+
inttostr(c)+' '+inttostr(d)+' ');
 
笼子里装有鸡和兔子, 数头40, 数脚100, 共有多少只鸡多少只兔子?
 
要做的有效率,那样太没效率了,
自己想一想。
 
procedure TForm1.Button1Click(Sender: TObject);
var ten,five,two,one:integer;
begin
memo1.Clear ;
memo1.Lines.Add('ten five two one');
for ten:=1 to 9do
for five:=1 to 17-tendo
for two:=1 to 42-five-tendo
for one:=1 to 84 -ten-five-twodo
if (10*ten+5*five+2*two+one=100) and (ten+five+two+one=40) then
Memo1.Lines.Add(inttostr(ten)+' '+inttostr(five)+' '
+ inttostr(two)+' '+inttostr(one)+' ');
end;

共34种。
 
多人接受答案了。
 
后退
顶部