Algorithme
Test de primalité – Casio
Type de calculatrice

Casio

Prérequis

Pour tester si un entier $n$ est premier ou pas, on peut tester tous les entiers $a$ de $2$ à $\sqrt{n}$, et vérifier si $\dfrac{n}{a}$ est un nombre entier ou pas.

Description

Programme

L'utilisateur entre un entier $n$, le programme fixe une variable $p=\text{\textquotedblleft}\text{premier}\text{\textquotedblright}$ : tant qu'on n'a pas trouvé de diviseur, on suppose que $n$ est premier. Et tant qu'on le suppose premier on continue à tester tous les diviseurs possibles de $2$ à $\sqrt{n}$.

Variables

$n$ un entier donné par l'utilisateur

$p=n$

$i$ un entier qui va prendre successivement toutes les valeurs de $2$ à $\sqrt{n}$

Algorithme

|Demander $n$
|$p=n$
|$i=2$
|Tant que $p=n$ et $i\le\sqrt{n}$

|Si $\dfrac{n}{i}=\text{Int}\dfrac{n}{i}$ alors :

|$p$ devient $i$

ainsi, le Tant que ne recommencera pas

|Afficher $i$

|Si $p=n$
cela signifie que le programme n’a pas trouvé de diviseur

|Afficher $\text{\textquotedblleft}p\ \text{est premier}\text{\textquotedblright}$

|Sinon

|Afficher $\text{\textquotedblleft}\text{Voici un diviseur de}\ p\text{\textquotedblright}$

Programme Casio

Alt texte

  • SHIFTVARSF4 « ? » ALPHA8 « N »
  • ALPHA8 « N » ALPHA4 « P »
  • 2 ALPHA( « I »
  • SHIFTVARSF1 « COM » F6 « ▷ » F6 « ▷ » F1 « Whle » ALPHA4 « P » SHIFT. « = » ALPHA8 « N » OPTNF6 « ▷ » F6 « ▷ » F4 « LOGIC » F1 « And » ALPHA( « I » SHIFTVARSF6 « ▷ » F3 « REL » F6 « $\le$ » SHIFT $x^2$ «  » ALPHA8 « N »
  • SHIFTVARSF1 « COM » F1 « If » ALPHA8 « N » $\dfrac{\blacksquare}{\square}$ALPHA( « I » SHIFT. « = » ALPHA8 « N » OPTNF6 « ▷ » F4 « NUM » F2 « Int » (ALPHA8 « N » $\dfrac{\blacksquare}{\square}$ALPHA( « I » )
  • SHIFTVARSF1 « COM » F2 « Then » ALPHA( « I » ALPHA4 « P »
  • SHIFTVARSF1 « COM » F4 « I-End »
  • 1+ALPHA( « I » ALPHA( « I »
  • SHIFTVARSF1 « COM » F6 « ▷ » F6 « ▷ » F2 « WEnd »
  • SHIFTVARSF1 « COM » F1 « If » ALPHA4 « P » SHIFT. « = » ALPHA8 « N »
  • SHIFTVARSF1 « COM » F2 « Then » SHIFTALPHA$\times 10^x$46cos7(cos6$\times 10^x$ « "PREMIER" »
  • SHIFTVARSF1 « COM » F3 « Else » SHIFTALPHA « $\fcolorbox{black}{white}{A}$-LOCK » $\times 10^x$29(ln(.18.sin(2($\times$cos16$\times 10^x$ « "VOICI UN DIVISEUR" »
  • ALPHA4 « P »

Remarque :

Il faut appuyer sur la touche EXE à chaque retour à la ligne.

Cours associés

Arithmétique et problèmes de codage

Arithmétique et problèmes de codage (suite)