Combinaties en permutaties

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert Bergen

Robert Bergen

05/11/2017 22:00:27
Quote Anchor link
Hallo, ik ben een beginnende PHP'er. Ik wil een rekenmachine bouwen die faculteiten en combinaties kan uitrekenen, maar ik loop vast.
Dit is de form:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<form method="POST" action="resultaatl3o2.php">
        Faculteit berekenen: <input type="text" name="getal1">
        <input type="submit" value="Reken uit"><br><br>
        Combinaties berekenen: <br><input type="text" name="getal2"><br>
        <p>boven</p>
        <input type="text" name="getal3">
        <input type="submit" value="Reken uit">
    </form>


Ik wil als er bij faculteit iets wordt ingevuld, de combinaties negeren en andersom.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Permutaties en combinaties</title>
</head>
<body>
<?php
    $getal1
= $_POST ['getal1'];
    $faculteit = 1;
    $getal2 = $_POST ['getal2'];
    $getal3 = $_POST ['getal3'];

    for ($i=1; $i <=$getal1; $i++) {
        $faculteit = $faculteit*$i;
    }

    function
nCr ($getal2, $getal3){
        if ($getal3 > $getal2)
            return NaN;
    }

        if (($getal2-$getal3)<$getal3){
            return nCr($getal2, ($getal2-$getal3));
        }

        $return = 1;
        for ($i = 0; $i < $getal3; $i++){
            $return *= ($getal2 - $i) / ($i + 1);
        }

        return $return;
?>

</body>
</html>


Kan iemand mij hierbij helpen? Alvast bedankt!
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 05/11/2017 22:01:41 door - Ariën -
 
PHP hulp

PHP hulp

29/11/2024 23:37:58
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/11/2017 23:10:40
Quote Anchor link
Hoi Robert,

- Je kunt met strlen() controleren hoeveel karakters er in een string zitten.
- met trim() kun je eventuele voorloop spaties of spaties aan het einde van de string verwijderen

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$getal1
= trim($_POST['getal1']);

if(strlen($getal1) > 0) {
    // bereken faculteit
} else {
    // bereken combinaties
}
?>


Verder stel ik voor om jezelf een beetje in te lezen over formulieren
 
Ward van der Put
Moderator

Ward van der Put

06/11/2017 09:03:33
Quote Anchor link
Als bepaalde input steeds dezelfde output geeft en er op de server niets permanent wordt gewijzigd, dan gebruik je method="GET" en $_GET.

Voor een faculteit kun je bijvoorbeeld GMP (GNU Multiple Precision) gmp_fact() gebruiken. Voor een fatsoenlijke rekenmachine zijn de wiskundige extensies van PHP sowieso geen overbodige luxe.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.