Rechenaufgabe

kanada

Mitglied
Da mir bei einen anderen Problem recht zügig und kompetent geholfen würde, hätte ich da noch ein anliegen.

Ich habe hier eine Rechnung, dazu legt man am Anfang einen Wert fest, diesen gilt es zu erreichen, in dem man einen anderen Wert teilt, aber nur mit ganzen Teilern.

Zum Beispiel:
Erreichen wollen wir: 400
vorgeben haben wir: 2800
um auf die 400 zu kommen teilen wir die 2800 einfach durch 7.

Erreichen wollen wir: 400
vorgeben haben wir: 2900
um auf die 400 zu kommen, können wir nicht mehr durch 7 teilen, weil wir dann über 400 liegen. Also nehmen wir den nächst höheren Teiler 8, was dann 363 wären.

Wie setzte ich so eine Rechnung am besten um, das automatisch der passende verwendet wird?
 
Hi,
Ich hoffe, ich habe das Ganze richtig verstanden: Du willst eine gegebene Zahl durch einen beliebigen Teiler teilen, damit das Ergebnis kleiner ist als eine andere gegebene Zahl. Wenn ja, lese weiter, ansonsten korrigiere mich!

1. Deklariere eine Variable teiler und setze sie auf 1.
2. Bastle eine Schleife die durchläuft bis givenFinish * teiler => givenStart.
3. Bau' in die Schleife die Anweisung teiler = teiler +1

Ich hoffe, das Ganze war soweit verständlich.
Ciao
DosCoder
 
AnfWert = 2900
EndWert = 400

Teiler = int ( AnfWert / Endwert + 0.9 )

int bedeutet --> die Nachkommastellen werden abgeschnitten

in anderen Sprachen evtl. andere Syntax
 
Hi,

AnfWert = 2900
EndWert = 400

eher so

Code:
if(AnfWert % Endwert == 0)
{
   int teiler = int ( AnfWert / Endwert )
}
else
   int teiler = int ( AnfWert / Endwert ) +1

oder?
 
ok ich mach mich :D
C#:
decimal x = 400M;
decimal y = 2900M;

decimal erg = Math.Ceiling(y / x); //Aufrunden
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück