Terme de Perrin
Obtenez n'importe quel terme de la suite de Perrin, qui commence par 3, 0, 2 et additionne les termes situés deux et trois rangs plus tôt : P(10) vaut 17, soit 10 plus 7. Les indices vont de 0 à 130. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- N
- 10
- Nombre de Perrin
- 17
- Récurrence
- P(0)=3; P(1)=0; P(2)=2; P(n)=P(n-2)+P(n-3) for n>2
La suite de Perrin commence par trois, zéro et deux, puis chaque nouveau terme additionne les valeurs situées deux et trois rangs auparavant. Ce calculateur renvoie le terme d’indice n, en partant de zéro, ainsi que les valeurs initiales et la récurrence exacte utilisées. Il permet de vérifier des exercices de mathématiques discrètes, de tester un programme de suites ou de comparer des récurrences proches dont les conditions initiales diffèrent. Le calcul est déterministe, repose uniquement sur des additions entières et ne dépend ni du réseau, ni du hasard, ni de l’heure. Les indices négatifs sont refusés sans être réinterprétés silencieusement.
Comprendre la convention de la suite de Perrin
Cette capacité adopte la définition classique de Perrin avec une indexation à partir de zéro : P(0) vaut 3, P(1) vaut 0 et P(2) vaut 2. Pour tout indice supérieur à deux, P(n) est égal à P(n-2) plus P(n-3). Les premiers termes sont donc 3, 0, 2, 3, 2, 5, 5, 7, 10, 12, 17 et 22.
La récurrence présente les mêmes décalages que celle de Padovan, mais ses valeurs initiales sont différentes. Cette nuance est essentielle, car une même règle engendre des termes entièrement distincts lorsque ses graines changent. La réponse contient à la fois une formule concise et l’énoncé complet des valeurs initiales afin que la convention ne soit jamais implicite.
Puisque l’indexation débute à zéro, une entrée égale à zéro renvoie 3 et non la première étape calculée par récurrence. L’opération fournit un seul terme demandé, pas la liste de tous les précédents. Ce comportement explicite convient aux exercices, aux contrôles automatisés et aux documents dans lesquels un décalage d’un rang serait autrement difficile à repérer.
Envoyer un indice et lire le résultat
Fournissez n sous la forme d’un entier non négatif compris entre zéro et 130. Une réponse réussie répète l’indice normalisé dans n, place l’entier demandé dans perrin et ajoute les champs formula et recurrence qui décrivent le calcul. Par exemple, n égal à 10 renvoie la valeur de Perrin 17, car P(10) correspond à P(8) plus P(7), soit 10 plus 7.
Le contrôle du navigateur accepte un texte constitué d’un entier sans signe, mais les fractions, la notation scientifique, une saisie vide et tout texte sans rapport sont refusés au lieu d’être arrondis ou devinés. Le calcul conserve une fenêtre mobile de trois termes, utilise une mémoire constante et effectue au maximum 128 additions.
Exploiter la valeur en cours, dans des tests et des algorithmes
Les nombres de Perrin sont utiles pour enseigner les relations de récurrence : la règle est brève, tandis que les graines inhabituelles révèlent rapidement les suppositions imprudentes. En cours, comparez la formule renvoyée au développement manuscrit de l’élève et vérifiez les cas de base avant d’examiner les calculs suivants. Dans les tests logiciels, créez des cas distincts pour les indices zéro, un et deux, puis ajoutez un terme plus avancé et une entrée négative.
Ces exemples détectent des graines erronées, une indexation démarrant accidentellement à un, une addition de termes voisins inspirée de Fibonacci et une validation qui accepterait des indices négatifs non pris en charge. Cette capacité n’étend pas la suite aux indices négatifs, ne renvoie pas un préfixe complet et n’approxime pas les valeurs au-delà de la limite exacte. Pour de très grands termes, choisissez une implémentation BigInt avec une sortie textuelle clairement documentée.
Pour l’enseignement et les validations courantes, une réponse entière bornée reste plus simple à inspecter, sérialiser et comparer entre environnements.
Cas d’usage
Vérifier un exercice de récurrence
Contrôlez le n-ième terme de Perrin trouvé par un élève tout en affichant les valeurs initiales et la règle des décalages deux et trois.
Tester une implémentation de suite
Créez des cas déterministes pour les bases et les indices ultérieurs sans recopier la récurrence de référence dans chaque banc de test.
Comparer les nombres de Perrin et de Padovan
Montrez comment des graines différentes modifient une suite même lorsque deux définitions partagent le même schéma de récurrence.
Questions fréquentes
Quels sont les premiers nombres de Perrin ?
Avec une indexation à partir de zéro, ils commencent par 3, 0, 2, 3, 2, 5, 5, 7, 10, 12, 17 et 22.
Quelle récurrence ce calculateur emploie-t-il ?
Il utilise P(0)=3, P(1)=0 et P(2)=2, puis P(n)=P(n-2)+P(n-3) lorsque n est supérieur à 2.
Combien vaut P(10) dans la suite de Perrin ?
P(10) vaut 17. C'est la somme de P(8), qui vaut 10, et de P(7), qui vaut 7 : les termes situés deux et trois rangs plus tôt.
En quoi la suite de Perrin diffère-t-elle de celle de Padovan ?
Les deux suivent la même règle, additionner les termes situés deux et trois rangs plus tôt, mais elles partent de valeurs différentes. Perrin commence par 3, 0, 2, donc les termes suivants n'ont rien à voir.
Quel est l'indice le plus élevé que je peux utiliser ?
Tout indice entier de 0 à 130. Jusque-là, chaque terme reste exact. Les indices négatifs sont refusés plutôt que réinterprétés, et l'indice 0 renvoie 3.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/numth/perrin-sequence \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10}'const res = await fetch("https://api.kit.forhosting.com/numth/perrin-sequence", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/perrin-sequence",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/perrin-sequence", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/perrin-sequence", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"n": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.perrin_sequence",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_n | 130 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Comprendre la convention de la suite de Perrin
Les indices négatifs sont exclus du contrat et provoquent une erreur invalid_input.
Envoyer un indice et lire le résultat
La borne supérieure préserve l’exactitude arithmétique : jusqu’à l’indice 130, chaque valeur reste dans l’intervalle des entiers sûrs de JavaScript, aussi bien dans le navigateur que dans le Worker. L’exécuteur gratuit et l’API donnent ainsi une réponse identique sans transformer le résultat en chaîne inattendue. Chaque requête API réussie coûte $0.002 ; une saisie incorrecte est signalée par invalid_input et ne constitue pas un terme valide.
Exploiter la valeur en cours, dans des tests et des algorithmes
Le résultat JSON déterministe s’intègre aussi aux correcteurs de programmation et aux suites de régression : contrôlez n et perrin, tout en conservant recurrence comme explication lisible lors d’un échec.
Questions techniques
L’indice n commence-t-il à zéro ou à un ?
Il commence à zéro. Ainsi, n=0 renvoie 3, n=1 renvoie 0 et n=2 renvoie 2.
Que se passe-t-il si n est négatif ?
La requête échoue avec invalid_input, car cette capacité accepte uniquement la suite de Perrin classique aux indices non négatifs.
Combien coûte une requête API ?
Une requête API réussie coûte $0.002. Le même calcul déterministe est également disponible gratuitement dans le navigateur.