Obliczenie wartości y

0

Podana wartość w załączniku. Excel zwraca mi wartość 2,66, natomiast w [C] 1,13 z kawałkiem. Poniżej kod [C]

#include <stdio.h>
#include <stdlib.h>


int binomial(int a, int b){ return a*(a-1)/2; }

main(){
   double a=4.5, b=-3, c=12.3, d=5.427, x=3, Pi=3.141592653589793238462643383, y;
   int p=9100, k=2;
   y=fabs(sqrt(3*x*x-log(c)*log(c)*log(c))/(cos(b*b*b)-2*tan(d)*tan(d)))+(a+b+sqrt(d))/binomial(p,k)*Pi;
   printf("%0.16f\n", y);
   system("PAUSE");
   return 0;
   
}
0

sory, za zły dział , dopiero teraz na to wpadłem :)

0

Funkcja binomial wygląda dziwnie, jak wzór na sumę ciągu arytmetycznego.

0

tam jest raczej ok, bo to średnia liczb, wpisywałem też (p+k)/2 i to samo wychodziło.. Zapytam inaczej, zna ktoś dokładny prawidłowy wynik tego wyrażenia?

0

Nazwa binomial sugeruje, że chodzi Ci tutaj o dwumian Newtona. Co dokładnie ma robić funkcja cp(p,k), bez tego trudno jest dowiedzieć się co ta funkcja ma liczyć.

lgc3 bardziej bym zrozumiał, jako log(ccc), niż log(c)*log(c)*log(c), w tym drugim przypadku oznaczeniem byłoby lg3c.

0

cp(k,p) jest to funkcja AVERAGE ( z excela czyli liczy średnią argumentów) a w kodzie zmieniłem na log(ccc) i w wyniku mało co to pomogło

0

No to skoro średnia to chyba (a+b)/2?

0

omg....
sqrt(fabs((3 * x * x - log(c*c*c)) / (cos(b * b * b) - 2 * tan(d) * tan(d)))) + (a + b + sqrt(d)) / binomial(p, k) * Pi

0

thx.

0

twórcą (twu) użytej tu nazwy "binomial" ja żem jest, założyłem, że enigmatyczna "cp()" właśnie to liczy, a tu "k" stałe i równe dwa
nieszczęsne lgc^3, tu też zgadywałem,
ciekawym, jak kompilator policzy "tan(d)tan(d)"
i jeszcze tak, "by się przyczepić" log(c
c*c)==3log c

1 użytkowników online, w tym zalogowanych: 0, gości: 1