WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   (a+b) hoch n Formelberechnung (http://www.wcm.at/forum/showthread.php?t=37521)

Peter Peseta 25.11.2001 19:31

(a+b) hoch n Formelberechnung
 
Hat jemand von euch eine Idee wie man ein Programm in C++ schreiben könnte, das die expandierende Form für (a+b) hoch n ausgibt. Das Prinzip des Programmes reicht.

Bender Unit 22 25.11.2001 19:59

schau mal auf http://www.gbv.de/HarriDeutsch/Deskt...p_1/node47.htm und http://www.gbv.de/HarriDeutsch/Deskt....htm#F1010146a hoffe dass hilft ...

Peter Peseta 25.11.2001 20:28

Ein grob skizzierter Pseudoprogrammiercode wäre mir schon lieber. Bin nicht der beste in Mathe (dass es rekursiv sein muss ist mir klar).

mqs 28.11.2001 18:47

Beispiel:

n = 4;
var=(a + b);
for (i=0;i<=n-1;i++)
{
var = var * (a + b);
}

I denk des müsste fruchtn.

Peter Peseta 28.11.2001 20:43

Sorry, mein Fehler.
Was ich suche ist die Formelberechnung für (a+b) hoch n und nicht das Ergebnis.

mqs 28.11.2001 21:39

Hmm i was ned so genau, was damit meinst:confused:

Peter Peseta 29.11.2001 10:10

Für n=1 ist es a+b.
Für n=2 ist es a^2 + 2ab + b^2
Für n=3 ..
bis zun einem beliebigen n.

paux 29.11.2001 10:26

Zitat:

Original geschrieben von Peter Peseta
Für n=1 ist es a+b.
Für n=2 ist es a^2 + 2ab + b^2
Für n=3 ..
bis zun einem beliebigen n.

(a+b)^n := Sum[Binomial[n, k] a^k b^(n-k), {k, 0, n}]

zu deutsch: summe (von k=0 bis n) über alle n!/(k!(n-k)!) * a^k * b^(n-k)

meinst du das?

mqs 29.11.2001 10:40

hmm ich denk mal er will das ganze so ausgegeben haben:
---

(a+b)
(a²+2ab+b²)
(a³+ usw...

---
und der wert n soll dann halt zum eingeben sein.
So auf die schnelle fällt mir jetzt keine Lösung ein

Peter Peseta 29.11.2001 10:46

Zitat:

Original geschrieben von mqs
hmm ich denk mal er will das ganze so ausgegeben haben:
---

(a+b)
(a²+2ab+b²)
(a³+ usw...

---
und der wert n soll dann halt zum eingeben sein.

Genau.;)

werner_q 29.11.2001 11:02

Du suchst die Binominalkoeffizienten ???
 
Das ist (n über k) = n!/k!*(n-k)!
n ist n und k ist der k-te Koeffizient (fangt bei 0 an)

z.B.: n=3
(3 über 0)=1, (3 über 1)=2, (3 über 2)=3, (3 über 3) =1

n! spricht n Fakultät ist das Produkt (1*2*3 ... *n)

Man könnte das natürlich auch rekursiv berechnen (ist aber in diesem Fall, wo sich das schon jemand für uns überlegt hat, aufwendiger und langsamer, die Rekursion hat gegenüber der Iteraion immer einen Programmtechnischen Overhead, Stackhandling und so). Rekursiv auf jeden Fall dann nach Art des Pascalschen Dreiecks, z.B. Ist aber, wie gesagt, eher von künstlerischem Wert.

paux 29.11.2001 11:04

Zitat:

Original geschrieben von mqs
hmm ich denk mal er will das ganze so ausgegeben haben:
---

(a+b)
(a²+2ab+b²)
(a³+ usw...

---
und der wert n soll dann halt zum eingeben sein.
So auf die schnelle fällt mir jetzt keine Lösung ein

burschen, genau das hab ich ja gepostet! :lol:

nach der formel ist (a+b)^3 = a^3 + 3a^2 b + 3ab^2 + b^3
(a+b)^4 = a^4 + 4 a^3 b + 6 a^2 b^2 + 4 a b^3 + b^4
(a+b)^5 = a^5 + 5 a^4 b + 10 a^3 b^2 + 10 a^2 b^3 + 5 a b^4 + b^5
usw. usw.

also einfach meine angegebene formel verwenden!! brauchst eh nur immer bis n summieren!

werner_q 29.11.2001 11:07

@Iynus
 
T'schuldigung, ich hab' so lange zur wissenschaftlichen Ausarbeitung gebraucht...

snake1971 06.05.2009 15:22

Hi, habe ein Problem mit einer Formel im Excel Programm, kannst Du mir Bitte helfen?
Wie ist die Formel für die berechnung von 100% überstunden, die zwischen
00:00 Uhr und 05:00 liegen
Beispiel: von 04:00 bis 16:00
Ergebnis: 01:00 Std.
Habe schon alles mögliche versucht, aber nichts wird vom Programm angenommen!
Danke im vorraus! lg snake1971

holzi 06.05.2009 15:26

Willkommen im Forum - dieser Thread stammt aus dem Jahr 2001. Es ist nicht sinnvoll, eine andere Frage dranzuhängen.
Mach bitte einen eigenen Thread mit aussagekräftigem Titel auf - so wird man dir hier am besten helfen...

snake1971 06.05.2009 15:35

danke bin zum ersten mal im forum und kenne mich nicht wircklich aus!

holzi 06.05.2009 15:53

kein Problem :)

Einfach im Forum "Programmierung" links oben auf "neues Thema" klicken und den neuen Thread erstellen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag