Apparemment oui! En trois étapes faciles.
Étape 1
Soit f ( n ) la fonction de comptage des nombres premiers (nombre de nombres premiers inférieur ou égal à n ).
Définissez la séquence entière s ( n ) comme suit. Pour chaque entier positif n ,
- Initialliser t à n .
- Tant que t n'est ni premier ni 1, remplacez t par f ( t ) et itérez.
- Le nombre d'itérations est s ( n ).
La fin du processus itératif est garantie car f ( n ) < n pour tout n .
Considérons par exemple n = 25. Nous initiallisons t = 25. Comme ce n'est pas un nombre premier ni 1, nous calculons f (25), qui est 9. Ceci devient la nouvelle valeur de t . Ce n'est pas un nombre premier ni 1, nous continuons donc: f (9) vaut 4. Nous continuons encore: f (4) vaut 2. Comme c'est un nombre premier, nous nous arrêtons ici. Nous avons fait 3 itérations (de 25 à 9, puis à 4, puis à 2). Donc s (25) vaut 3.
Les 40 premiers termes de la séquence sont les suivants. La séquence n'est pas dans OEIS.
0 0 0 1 0 1 0 2 2 2 0 1 0 2 2 2 0 1 0 3 3 3 0 3 3 3 3 3 0 3 0 1 1 1 1 1 0 2 2 2
Étape 2
Étant donné un entier positif impair N , construisez un tableau N × N (matrice) en enroulant la séquence finie s (1), s (2), ..., s ( N 2 ) pour former une spirale extérieure carrée . Par exemple, étant donné que N = 5, la spirale est
s(21) s(22) s(23) s(24) s(25)
s(20) s(7) s(8) s(9) s(10)
s(19) s(6) s(1) s(2) s(11)
s(18) s(5) s(4) s(3) s(12)
s(17) s(16) s(15) s(14) s(13)
ou, en substituant les valeurs,
3 3 0 3 3
3 0 2 2 2
0 1 0 0 0
1 0 1 0 1
0 2 2 2 0
Étape 3
Représentez le tableau N × N sous forme d' image avec une carte de couleur grise ou avec une autre carte de couleur de votre goût. La carte doit être progressive, afin que l'ordre des nombres corresponde à un ordre des couleurs visuellement évident. Les cas de test ci-dessous montrent quelques exemples de nuanciers.
Le défi
Étant donné un entier positif impair N , produisez l'image décrite ci-dessus.
Règles
La spirale doit être vers l'extérieur, mais elle peut être dans le sens des aiguilles d'une montre ou dans le sens contraire, et peut commencer à se déplacer vers la droite (comme dans l'exemple ci-dessus), vers la gauche, vers le bas ou vers le haut.
Les échelles des axes horizontal et vertical ne doivent pas nécessairement être identiques. De plus, les étiquettes d'axe, la barre de couleur et les éléments similaires sont facultatifs. Tant que la spirale peut être clairement vue, l'image est valide.
Les images peuvent être sorties par n'importe quel moyen standard . En particulier, l'image peut être affichée à l'écran, ou un fichier graphique peut être produit, ou un tableau de valeurs RVB peut être sorti. Si vous exportez un fichier ou un tableau, postez un exemple de ce à quoi il ressemble lorsqu'il est affiché.
Les moyens de saisie et le format sont flexibles comme d’habitude . Un programme ou une fonction peut être fourni . Les échappatoires standard sont interdites .
Le code le plus court en octets gagne.
Cas de test
Les images suivantes (cliquez pour pleine résolution) correspondent à plusieurs valeurs de N . Une spirale dans le sens des aiguilles d'une montre, en commençant par la droite, est utilisée, comme dans l'exemple ci-dessus. Les images illustrent également plusieurs cartes de couleurs valides.
imshow
ne
imshow
fait ça.
s(n)
peut être introduit dans une fonction / package de traçage sans être modifié (je pense queimshow
matplotlib pourrait gérer cela par exemple), est-ce une forme de sortie acceptable?