Trójkąt Pascala

0

Witam,
Mam napisać program, który w zależności od zmiennej będzie wyświetlał tyle poziomów.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

itd
Dodam, że dotychczas w szkole korzystaliśmy z for,while,if.

0

Napisz:

  • czego nie wiesz
  • co od nas oczekujesz
  • co już napisałeś
1

Temat jest dosyć prosty, ponieważ jak już sam zauważyłeś jest to Trójkąt Pascala. Tego typu twory matematyczne mają to do siebie, że każdy element można wyrazić jakimś równaniem. W tym wypadku możemy skorzystać z dwumianu Newtona:

newton.gif

Dla przykładu: w wierszu 4 na miejscu 2 stoi 6, co wynika z podstawienia do wzoru:
Zrzut ekranu 2018-12-01 o 14.17.57.png

Jedyne, co Ci pozostało, to zastosować ten wzór w pętli for, tak żeby wygenerować odpowiednią liczbę wierszy n i voilà. Podpowiem Ci jeszcze, że PHP ma funkcję, która obliczy Ci silnie. Oczywiście możesz też zrobić to sam używając pętlę for, co nawet jest wskazane, bo wtedy sobie poćwiczysz pętle.

2

Warto dodać że przy użyciu samego dodawania można trochę dłużej liczyć elementy niż przy silni bez groźby przepełnienia wartości (jeśli nie używamy gmp).
A przy użyciu mnożenia/dzielenia można obliczyć konkretny wiersz bez poprzednich:
https://en.wikipedia.org/wiki/Pascal%27s_triangle#Calculating_a_row_or_diagonal_by_itself

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