Side 1 av 1

Nøtt fra landet

Lagt inn: 03/03-2009 16:49
av hei&hopp
3 kyllinger koster 1kr til sammen.
1 sau koster 2kr.
1 kalv koster 3kr.

Utfordringen:

Hvordan organisre dyrene og pengene slik at en får kjøpt 100 dyr for 100kr?

Her finnes det mange løsninger. Hvordan finne dem?

Lagt inn: 07/03-2009 17:47
av Knuta
Lettest å la PCen gjøre det.

Svar:
40 Sauer 60 kyllinger
5 Kalver 32 Sauer 63 kyllinger
10 Kalver 24 Sauer 66 kyllinger
15 Kalver 16 Sauer 69 kyllinger
20 Kalver 8 Sauer 72 kyllinger
25 Kalver 75 kyllinger


Fordi antall løkker er begrenset kjørte jeg en full brute force.

Program skrevet i delphi:

Kode: Velg alt

procedure TForm1.Button1Click(Sender: TObject);
var i,j,k:integer;
    sum : integer;
    s:string;
begin
  for i:=0 to 33 do         //kalver
    for j:=0 to 50 do       //Sauer
      for k:= 0 to 100 do begin  //kyllinger
        sum := i*3 + j*2 + k;
        if (sum=100) and (i+j+3*k=100) then begin
          s:='';
          If i>0 then s:=s+IntToStr(i)+' Kalver    ';
          if j>0 then s:=s+IntToStr(j)+' Sauer    ';
          If k>0 then s:=s+IntToStr(3*k)+' kyllinger';
          memo1.lines.add(s);
        end;
      end;
end;


Lagt inn: 07/03-2009 19:33
av Gustav
Det kjappeste er vel å bruke fornuften ;) :

Etter eliminering av en variabel står vi igjen med

[tex]5s+8k=5(1000-8n)+8(-600+5n)=200[/tex]

med ikke-negative løsninger dersom


[tex]n=[120,121,122,123,124,125] [/tex]

Mulige verdier av antall sau, s, er da [tex]40, 32, 24, 16,8, 0 [/tex]

Mulige verdier av antall kalver, k, er da [tex]0, 5, 10, 15,20,25 [/tex].

Antall kyllinger er da gitt for hvert av disse gyldige parene.