[Tutorial]Calculare combinari in php

Locked
User avatar
# King
Membru
Membru
Posts: 1069
Joined: 8 years ago
Location: Braşov
Has thanked: 0
Been thanked: 0
Zodiac:
Age: 23
Contact:
Status: Offline

8 years ago

Image
Nume Tutorial:Calculare combinari in PHP
Descriere:Pentru inceput sa ne amintim ce sunt combinarile. Din definite stim asa: Notam combinari de n luate cate k numarul tuturor submultimilor formate din k elemente luate din n.
Image
Download:Nu necesita
Autor:Anonim
Sursa (Link-ul oficial):
tutorialeweb
Propria parere:Util
Tutorialul:
In primul rand calculam n! (n factorial). Ce reprezinta operatia factorial?! Va dati seama si singuri spunandu-va doar ca n! = 1*2*3*4*...*n (ex: 3!=1*2*3=6).
Pentru a calcula factorialul unui numar folosim urmatorul script:

Code: Select all

<?php
$n = 10;  // numarul al carui factorial il calculam

$nf = 1;  // dam mai intai valoarea 1
for ($a=1; $a<=$n; $a++) {
$nf = $nf * $a;
}
echo $nf;  // afisam rezultatul
?>
Folosind acest script calculam factorialul lui n, lui k si al lui n-k dupa care adaugam rezultatele in acea fractie.
Iata si scriptul complet

Code: Select all


<?php
$n = 49;
$k = 6;

$nf = 1;
for ($a=1; $a<=$n; $a++) {
$nf = $nf * $a;
}

$kf = 1;
for ($b=1; $b<=$k; $b++) {
$kf = $kf * $b;
}

$nk = $n - $k;
$nkf = 1;
for ($c=1; $c<=$nk; $c++) {
$nkf = $nkf * $c;
}

$rez = $nf / ($kf * $nkf);
echo $rez;
?>

Banuiesc ca multi sunteti curiosi care sunt sansele sa castigati la loterie (6 din 49). Nu trebuie decat sa dai lui n valoarea 49 si lui k valoarea 6 in acest script.
Exista o problema in calcularea combinarilor cu numere mari.
De exemplu C10097(C indice 100 la puterea 97). Este clar ca nu poti calcula de mana factorialul lui 100 decat daca folosesti un program de calcul insa uneori nici acestea nu arata rezultatele corecte in cazul unor numere uriase. Exista insa o metoda mai usoara pentru astfel de situatii cu numere mari pe care o puteti studia in exemplul urmator:
Image
Părere buna
User avatar
Aizen
Membru
Membru
Posts: 429
Joined: 8 years ago
Has thanked: 0
Been thanked: 0
Zodiac:
Age: 20
Status: Offline

8 years ago

:tc: Nu s-a mai postat de mult .
Locked

Return to “Tutoriale”