Was macht mein Algorithmus

Neue Frage »

Auf diesen Beitrag antworten »
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.ä.
 
Auf diesen Beitrag antworten »
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.
Auf diesen Beitrag antworten »
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)
Auf diesen Beitrag antworten »
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:
 
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »