GRY-Online.pl --> Archiwum Forum

Znak w funkcji

24.11.2007
12:48
[1]

LeszekJ [ Chor��y ]

Znak w funkcji

Witam,
Mam funkcję, która dla jedynki przyjmuje +, dla dwójki i trójki -, a dla czwórki +, a dalej analogicznie,więc jej zmiana znaku wygląda tak:
+--+ +--+ +--+ .........
1234 5678 ...

załóżmy że n (n należy do naturalnych dodatnich) jest argumentem. Jak uzależnić od niego zmianę znaku? Zadanie jest trochę trudne, ale powinno być wykonalne.
np. (-1)^n daje -+-+-+-+...
(-1)^(n+1) daje +-+-+-+-...
pewnie trzeba to jakoś przekształcić.
Z góry dzięki za pomoc.

24.11.2007
13:01
[2]

Cadm [ Pretorianin ]

Może tak:

sign(cos(pi/4*(2n-1)))

24.11.2007
13:16
[3]

LeszekJ [ Chor��y ]

a co oznacza "sign"? to jakieś pobranie znaku? Nie da sie zrobić tego manipulując potęgami minus jedynki?

24.11.2007
13:32
[4]

Toshi_ [ Konsul ]

"signum" - "znak" (z łac.)
funkcja y = sign(x) przyjmuje wartości:
-1 dla x < 0
0 dla x = 0
1 dla x > 0
Teraz wystarczy odpowiednio pokombinować z argumentem i już :P

24.11.2007
13:44
[5]

LeszekJ [ Chor��y ]

Trochę przekombinowane :P
Zauważyłem, że (-1)^(n mod 3) daje nam:
-++ -++ -++
Więc już prawie jest ok :), tylko jeszcze znaleźć coś żeby jeszcze jeden minus wskoczył, a przesunięcie już sie załatwi :P

24.11.2007
22:57
[6]

DEXiu [ Generaďż˝ ]

(-1)^[n/2]

gdzie [x] oznacza największą liczbę całkowitą nie większą od x (tzw. cecha albo funkcja entier)

24.11.2007
23:13
[7]

LeszekJ [ Chor��y ]

DEXiu, jesteś wielki! U mnie takie wyrażenie Lx(tutaj odwrócone "L") nazywa sie "podłoga", i znaczy to co właśnie napisałeś. Dzięki :)

24.11.2007
23:21
[8]

Arcy Hp [ Legend ]

A nie moznaby bylo zapisac tego w postaci sumy trzech ciagow arytmetycznych ?

© 2000-2024 GRY-OnLine S.A.