Ganzzahlen : wichtig
Oscar : hier bekomme ich keine Ausgabe, wenn ich es auf acht Zahlen setze. Das Script läuft und läuft und ohne Ende!?
Möglichkeit wäre die vier Waagerechten Zahlen beim ersten mal aufzuschreiben (zu nutzen) und dann nochmals durchlaufen lassen und aufzuschreiben (zu nutzen). Man kommt zumindest schon mal auf diesen Weg der Sache dichter.
Doppelter Durchlauf mit halben Summer-Wert dann so:
Spoiler anzeigen
#include <Array.au3>
$iSum = 25
Global $aNumbers[$iSum], $aTemp, $aRandom[5], $iRandom, $iTotal = 0, $iCount = 0
For $i = 0 To $iSum - 1
$aNumbers[$i] = $i + 1
Next
Global $iTimer = TimerInit()
Do
$iTotal = 0
$aTemp = $aNumbers
For $i = 0 To 4
$iRandom = Random(0, UBound($aTemp) - 1 - $i, 1)
$aRandom[$i] = $aTemp[$iRandom]
$iTotal += $aTemp[$iRandom]
$aTemp[$iRandom] = $aTemp[UBound($aTemp) - 1 - $i]
Next
$iCount += 1
Until $iTotal = $iSum
ConsoleWrite(StringFormat('Summe: %i, Benötigte Durchgänge: %i, benötigte Zeit: %i ms\n', $iSum, $iCount, TimerDiff($iTimer)))
_ArrayDisplay($aRandom)
Micha_he: hier bekomme ich am Ende eine Summe von über 50 raus.