Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dwumian Newtona

Ostatnio zmodyfikowano 2009-04-27 18:25
Autor Wiadomość
Mapet
Temat założony przez niniejszego użytkownika
» 2009-03-26 00:30:03
Jeśli chodzi ci o rozpisanie z postaci (a+b)^n  to wygląda to tak:
(n nad 0)*a^n + (n nad 1)*a^(n-1)^2 + .. +(n nad (n-1))a*b^(n-1) + (n nad n)b^n.
(To właśnie z tego można wyprowadzić sobie wzory skróconego mnożenia)

Problem jest taki ze to dotyczy skończonej ilości wyrazów + to ze n>=1.

Dlatego właśnie chciałem się dowiedzieć czy to ja coś mieszam, czy błąd jest na tym co dostałem od profesorka. I chyba raczej to drugie. Zagadam do niego w któryś dzień i zapytam się czy czegoś tam nie brakuje
P-5042
DejaVu
» 2009-03-26 00:36:38
Zauważ, że w Dwumianie Newtona występuje Symbol Newtona, w którym zawsze n jest większe lub równe k. W Twoim zadaniu taka sytuacja nie ma miejsca, ponieważ n jest stałą = 4, natomiast, k jest zmienną = i. Tak więc n<k, gdy i>4.
P-5043
Mapet
Temat założony przez niniejszego użytkownika
» 2009-04-27 17:03:23
Odświeżam temat gdyż sprawa się rozwiązała a ja zapomniałem podać rozwiązania tego problemu. ;p
Mianowicie jak się okazało istnieje dwumian newtona z liczba rzeczywista ujemna xd. Wystarczyło poszukać trochę na necie.

(n nad r) = (n(n-1) .....(n-k+1))/r!

Przykład :

(1/2 nad 3) = 1/2(1/2-1)(1/2-2)/1*2*3

Dla niedowiarków i leni program liczący owe wyrażenie
http://yfrog.com/5r51252014p

za pomocą ciągu

C/C++
#include <stdio.h>
#define e 0.000000001

/*double ABS(double x){

return -x;
}*/

double licz( double x, int * ile ) {
    double a = 1, wynik = 0;
    int i = 1;
   
    if( x < 0 ) x =- x; //x = ABS(x);
   
    while( a > e ) {
        wynik += a;
        a =( a * x * i ) /( i + 3 );
        i += 4;
        * ile += 1;
    }
    return wynik;
}

int main() {
   
    int ile = 0, * w_ile;
    double x, wynik;
   
    do {
        printf( "Podaj x (-1<x<1) = " );
        scanf( "%lf", & x );
    }
    while( - 1 >= x || x >= 1 );
   
    wynik = licz( x, & ile );
   
    printf( "Wynik = %0.10lf\nIlosc z sumowanych wyrazow to: %d\n", wynik, ile );
    return 0;
}
P-6080
GoldWolf
» 2009-04-27 18:25:06
Jeśli jest wszystko git, to myślę, iż można zamknąć temat.
P-6089
1 « 2 »
Poprzednia strona Strona 2 z 2