Maison > Article > développement back-end > Tutoriel PHP et GMP : Comment calculer le nombre catalan de grands nombres
Tutoriel PHP et GMP : Comment calculer les nombres catalans de grands nombres
Introduction :
Le nombre catalan est une séquence intéressante en mathématiques combinatoires. Il a des applications dans de nombreux domaines, notamment le comptage combinatoire, la géométrie computationnelle, la cryptographie, etc. Dans cet article, nous présenterons comment calculer le nombre catalan des grands nombres en utilisant PHP et la bibliothèque GMP.
Installer l'extension GMP
GMP (GNU Multiple Precision Arithmetic Library) est une bibliothèque pour les calculs de haute précision. Nous devons d’abord nous assurer que l’extension GMP est installée sur PHP. S'il n'est pas installé, vous pouvez l'installer en suivant les étapes suivantes :
$ sudo apt-get install php-gmp
Calculez les nombres catalans à l'aide de la bibliothèque GMP
En PHP, la bibliothèque GMP fournit un ensemble de fonctions pour des calculs de haute précision. Nous utiliserons les fonctions gmp_mul()
, gmp_div()
et gmp_add()
pour calculer le nombre catalan. Voici un exemple de code pour calculer les nombres catalans : gmp_mul()
、gmp_div()
和gmp_add()
函数来计算Catalan数。下面是计算Catalan数的代码示例:
<?php function catalan($n) { $result = gmp_init(1); // 计算Catalan数的迭代公式 for ($i = 1; $i <= $n; $i++) { $result = gmp_mul($result, gmp_div(gmp_add(gmp_mul(4, $i), 2), gmp_add($i, 1))); } return $result; } // 计算1000的Catalan数 $n = 1000; $catalan = catalan($n); echo "Catalan($n) = " . gmp_strval($catalan) . " ";
在这个示例中,我们定义了一个catalan()
函数,它接受一个整数n
作为输入,并返回第n
个Catalan数。在函数内部,我们使用gmp_mul()
函数来计算乘法,gmp_div()
函数来计算除法,gmp_add()
函数来计算加法。最后通过gmp_strval()
<?php function catalan($n) { $catalan = array(); // 初始化Catalan数列 $catalan[0] = 1; // 计算Catalan数的迭代公式 for ($i = 1; $i <= $n; $i++) { $catalan[$i] = gmp_div(gmp_mul(gmp_mul(4, $i), gmp_add(2 * $i - 1, 2)), $i + 2); } return $catalan[$n]; } // 计算1000的Catalan数 $n = 1000; $catalan = catalan($n); echo "Catalan($n) = " . gmp_strval($catalan) . " ";
catalan()
qui accepte un entier n
en entrée, et renvoie le n
ième numéro catalan. À l'intérieur de la fonction, nous utilisons la fonction gmp_mul()
pour calculer la multiplication, la fonction gmp_div()
pour calculer la division et la fonction gmp_add()
fonction pour calculer l'addition. Enfin, le résultat est converti en chaîne via la fonction et la sortie gmp_strval()
. rrreee
Dans cet exemple, nous utilisons un tableau pour stocker les nombres catalans calculés afin d'éviter les doubles calculs. Grâce à la programmation dynamique, nous pouvons réduire la complexité temporelle du calcul des nombres catalans de O(n^2) à O(n).
Conclusion :
Dans cet article, nous avons appris à calculer le nombre catalan de grands nombres à l'aide des bibliothèques PHP et GMP. Nous avons présenté l'installation et l'utilisation de la bibliothèque GMP et fourni des exemples de code utilisant des méthodes de programmation itératives et dynamiques pour calculer les nombres catalans. J'espère que cet article vous sera utile pour apprendre et comprendre comment calculer les nombres catalans pour les grands nombres.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!