0 Daumen
334 Aufrufe

Wäre froh um eine Hilfe von euch:

Gegeben ist folgendes:

x= 1500 oder 3000, y= 1500 oder 3000, z= variabel zwischen 300 und 3000, jeweils 100er Schritte.

Gleichung kann folgendermassen aussehen:

L= x + y + y + y + y + z

L= x + y + y  + y + z

L= x + y  + y + z

L= x + y + z

L= x + z

L= z

Mein Ziel: Eingabe des Wertes L, der Rest wird berechnet

L kann variieren zwischen 18000 und 1100

Wie muss die Logik dazu aussehen ?

Besten Dank schon jetzt!

Avatar von

Hallo
was soll nach Eingabe von L denn bestimmt werden? welche Kombinationen möglich sind oder die Kleins mögliche Anzahl. da x und y offensichtlich austauschbar sind, warum die Unterscheidung?

Gruß lul

1 Antwort

0 Daumen

Nun - das sind etliche Freiheitsgrade. Schreibe LL zunächst als L=x+y+zL = x^* + y^* + z^* der erste Summand xx^* ist entweder gar nicht vorhanden oder kann die Werte von xx - also 1500 oder 3000 annehmen. Man könnte also auch schreiben x=1500ii{iiN0i2}x^* = 1500 i \quad i \in \{ i \mid i \in \mathbb{N}_0 \land i \le 2 \} oder in Worten: ii kann die Werte 0 bis 2 annehmen. Genauso geht es weiter mit y=jy=j1500kj{jjN0i4}, k{kkN0i[1,2]}y^* = jy = j \cdot 1500k \quad j \in \{ j \mid j \in \mathbb{N}_0 \land i \le 4 \}, \space k \in \{ k \mid k \in \mathbb{N}_0 \land i \in [1,2] \} leider noch mit der zusätzlichen Bedingung, dass j=0j=0 wenn i=0i=0 ist, da die Kombination L=y+zL=y+z nicht existiert. Bleibt noch zz^* z=300+100ll{llN0l<=27}z^* = 300 + 100l \quad l \in \{ l \mid l \in \mathbb{N}_0 \land l <= 27 \} Alles einsetzen gibt L=1500i+1500jk+300+100l=100(15(i+jk)+3+l)L = 1500 i + 1500 jk + 300 + 100 l = 100(15(i+jk) + 3 + l ) was zunächst mal vorgibt, dass LL durch 100 teilbar sein muss. Ich unterstelle mal, dass gelten soll: L=100(11+m)m{mmN0m169} L = 100(11 + m) \quad m \in \{ m \mid m \in \mathbb{N}_0 \land m \le 169 \} 11+m=15(i+jk)+3+lm+8=15(i+jk)+l\begin{aligned} 11 + m &= 15(i+jk) + 3 + l \\ m + 8 &= 15(i + jk) + l\end{aligned}

Damit kann man nach der Vorgabe eines Wertes für LL wie folgt vorgehen: das m+8m+8 berechnen m+8=L/1003m+8 = L/100 - 3 dann den Rest ll bei der Division durch 15 berechnen m+8lmod  15m+8 \equiv l \mod 15 Dann ist das z=300+100lz=300 + 100l bereits bekannt. Anschließend die (Ganzzahl)Division t=(m+8)÷15t = \lfloor (m+8) \div 15 \rfloor ausführen. Die Variablen ii, jj und kk sind jetzt so zu wählen, dass i+jk=ti + jk = t ist. Ist t=0t=0 so setze i=j=0i=j=0, kk kann immer auf 2 gesetzt werden. Bei geradem tt setze i=2i=2 und bei ungeradem tt setze i=1i=1 und in jedem Fall ist j=(ti)/2j=(t-i)/2 Sollte jj jetzt j>4j\gt4 sein, dann erhöhe ll um 15 und ziehe von tt 1 ab.

Bespiel: L=16700L = 16700, dann ist m+8=16700/1003=164m+8 = 16700/100 - 3 = 164 und 16414mod  15164 \equiv 14 \mod 15 d.h. l=14l=14 und damit z=300+14100=1700z=300+14 \cdot 100 = 1700, t=164÷15=10t=\lfloor 164 \div 15 \rfloor = 10 damit ist tt gerade, also i=2i=2 und j=(102)/2=4j=(10-2)/2=4. Alles zusammen fassen: 16700=15002+415002+1700=3000+43000+170016700 = 1500 \cdot 2 + 4 \cdot 1500 \cdot 2 + 1700 = 3000 + 4 \cdot 3000 + 1700

Avatar von 49 k

Ein anderes Problem?

Stell deine Frage