Was macht mein Algorithmus |
07.11.2010, 22:06 | 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.ä. |
|
|
08.11.2010, 19:47 | 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. |
08.11.2010, 20:50 | 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) |
08.11.2010, 21:17 | 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: |
Anzeige | |
|
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |