Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Was macht mein Algorithmus » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 4 Beiträge
freezeU RE: Was macht mein Algorithmus

Ok es ist wirklich nur die Binomialverteilung. Keine Ahnung warum ich gestern auf was gegensätzliches kam.

Wenn man das ganze noch etwas formatiert ergibt es mehr sinn:
freezeU RE: Was macht mein Algorithmus

ja das hab ich nicht hingeschrieben.
eigentlich gibt der Algorithmus eine Anzahl von sternen aus. Das c dient dazu, die Sterne nicht in jedem Unterufruf auszugeben sondern sie in einer Variable (eben das c) nach oben weiterzugeben.

Trotz allem input sind 2 Integer und Output ist eine Zahl (bzw im Original eine Zahl von Sternen)
ed209 RE: Was macht mein Algorithmus

Was ist das für ein Algorithmus und wo hast du den her?
Der Algorithmus wie er da steht nimmt drei Parameter, wobei c scheinbar gar nicht für da Ergebnis gebraucht wird.
Entsprechend kannst du ihn so umschreiben, daß du c nicht mehr brauchst und alles was nur der Berechnung von c dient.
Anschließend müsstest du den Algorithmus so umschreiben daß er iterativ und nicht rekursiv rechnet, vielleicht hilft Dir das beim Verständnis.
freeze Was macht mein Algorithmus

Meine Frage:
Also ich habe hier einen ALgorithmus und habe keine Ahnung was der macht. Daher wollte ich fragen, ob vielleicht jemand eine idee hat.

Input sind 2 Integer, wobei der eine immer größer als der andere sein sollte. Ich vermute irgendeine Summe oder irgendwas stochastisches (sieht auf ersten Blick ein wenig wie binomialverteilung aus)

Daher hier meine ausgegebenen Zahlen.
und natürlich meine Implementation in Java.


1|1||>1
2|1||>2
3|1||>3
4|1||>4
5|1||>5
6|1||>6
7|1||>7
8|1||>8
9|1||>9
10|1||>10
11|1||>11
12|1||>12
13|1||>13
14|1||>14
15|1||>15
2|2||>1
3|2||>3
4|2||>6
5|2||>10
6|2||>15
7|2||>21
8|2||>28
9|2||>36
10|2||>45
11|2||>55
12|2||>66
13|2||>78
14|2||>91
15|2||>105
3|3||>1
4|3||>4
5|3||>10
6|3||>20
7|3||>35
8|3||>56
9|3||>84
10|3||>120
11|3||>165
12|3||>220
13|3||>286
14|3||>364
15|3||>455
4|4||>1
5|4||>5
6|4||>15
7|4||>35
8|4||>70
9|4||>126
10|4||>210
11|4||>330
12|4||>495
13|4||>715
14|4||>1001
15|4||>1365
5|5||>1
6|5||>6
7|5||>21
8|5||>56
9|5||>126
10|5||>252
11|5||>462
12|5||>792
13|5||>1287
14|5||>2002
15|5||>3003
6|6||>1
7|6||>7
8|6||>28
9|6||>84
10|6||>210
11|6||>462
12|6||>924
13|6||>1716
14|6||>3003
15|6||>5005
7|7||>1
8|7||>8
9|7||>36
10|7||>120
11|7||>330
12|7||>792
13|7||>1716
14|7||>3432
15|7||>6435
8|8||>1
9|8||>9
10|8||>45
11|8||>165
12|8||>495
13|8||>1287
14|8||>3003
15|8||>6435
9|9||>1
10|9||>10
11|9||>55
12|9||>220
13|9||>715
14|9||>2002
15|9||>5005
10|10||>1
11|10||>11
12|10||>66
13|10||>286
14|10||>1001
15|10||>3003
11|11||>1
12|11||>12
13|11||>78
14|11||>364
15|11||>1365
12|12||>1
13|12||>13
14|12||>91
15|12||>455
13|13||>1
14|13||>14
15|13||>105
14|14||>1
15|14||>15
15|15||>1


-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

private static int algorithm(int a, int b, int c){
if(b > a){
return 0;
} else {
if(b == 0){
c++;
return 1;
} else {
int h = algorithm(a-1,b-1,c);
for(int i = 1;i <= (int) Math.floor(h*(a/b-1));i++){
c++;
}
return (int) Math.floor(h*a/b);
}
}

}


Meine Ideen:
irgendwelche Summen oder ne stochastische verteilung o.ä.