# Das Ernteproblem

## Problembeschreibung

x Männer, y Frauen und z Kinder, insgesamt m Menschen,
helfen bei der Weizenernte. Als Lohn erhält jeder Mann 3 Scheffel,
jede Frau 2 Scheffel und jedes Kind 1/2 Scheffel, insgesamt s Scheffel.

Die ursprüngliche Aufgabe hatte
m=100 und
s=100.

Es soll ein Programm erstellt werden, mit dem man nach Eingabe
von m und s die vorhandenen Lösungsmöglichkieten ermittelt.

## Problemlösung

EINGABE

m:read("Gib die Anzahl der Erntehelfer ein");

s:read("Gib die Gesamtzahl der Scheffel (Lohn) ein");

VERARBEITUNG

Gleichungen aufstellen

g1:x+y+z=m;

g2:3*x+2*y+0.5*z=s;

Gleichungen lösen

l:solve([g1,g2],[x,y,z]);

Lösungen aus der Liste holen

x:ev(x,l[1][1]);

y:ev(y,l[1][2]);

z:ev(z,l[1][3]);

AUSGABE
Nur zulässige Lösungen:
a) ganzzahlig
b) positiv

for i:0 thru 100 do
                          block(x1:ev(x,%r1=i,numer),
                                     y1:ev(y,%r1=i,numer),
                                     z1:ev(z,%r1=i,numer),
                                     if x1>=0 and y1>=0  then
                                        if abs(x1-?truncate(x1))<0.00001 and abs(y1-?truncate(y1))<0.00001 then
                                           print(x1,y1,z1)
                                   );