No. chiffres |
Nombres de Keith |
2 |
14, 19, 28, 47, 61, 75 |
3 |
197, 742 |
4 |
1104, 1537, 2208, 2580, 3684, 4788, 7385, 7647, 7909 |
5 |
31331, 34285, 34348, 55604, 62662, 86935, 93993 |
6 |
120284, 129106, 147640, 156146, 174680, 183186, 298320, 355419, 694280, 925993 |
7 |
1084051, 7913837 |
8 |
11436171, 33445755, 44121607 |
9 |
129572008, 251133297 |
10 |
aucun |
11 |
24769286411, 96189170155 |
12 |
171570159070, 202366307758, 239143607789, 296658839738 |
13 |
1934197506555, 8756963649152 |
14 |
43520999798747, 74596893730427, 97295849958669 |
15 |
120984833091531, 270585509032586, 754788753590897 |
16 |
3621344088074041, 3756915124022254, 4362827422508274 |
17 |
11812665388886672, 14508137312404344, 16402582054271374, 69953250322018194, 73583709853303061 |
18 |
119115440241433462, 166308721919462318, 301273478581322148 |
19 |
1362353777290081176, 3389041747878384662, 5710594497265802190, 5776750370944624064, 6195637556095764016 |
entier i,N,K,j,S,Sav tableau Ti i=1,..,4 de entier pour i de 10 à 1000 faire N ß 1+[log10i] K ß i S ß 0 pour j de 1 à N faire TN-j+1ß K mod 10 S ß S+TN-j+1K ß K\10 fpour K ß N+1 Sav ß T1+(K-1) mod N T1+(K-1) mod N ß S tant que NOT (S³ i) faire S ß 2*S-Sav K ß K+1 Sav ß T1+(K-1) mod N T1+(K-1) mod N ß S ftant si S=i alors écrire i,"est un nombre de Keith" fsi fpourou dans une version moins optimisée
entier i,K,j,N,S tableau Ti i=1,..,4 de entier pour i de 10 à 1000 faire K ß i N ß 0 tant que NOT (K=0) faire N ß N +1 TN ß K mod 10 K ß K\10 ftant pour j de 1 à N\2 faire Tmp ß Tj Tj ß TN-j+1 TN-j+1 ß Tj fpour S ß 0 pour j de 1 à N faire S ß S+Tj fpour tant que NOT (S³ i) faire pour j de 1 à N\2 faire Tmp ß Tj Tj ß TN-j+1 TN-j+1 ß Tj fpour TN ß S S ß 0 pour j de 1 à N faire S ß S+Tj fpour ftant si S=i alors écrire i,"est un nombre de Keith" fsi fpourou dans une version avec procédures/fonctions
type tabl=tableaui i=1,..,4 de entier procédure Chiffres(¯ i, T, N) ¡Stocke les chiffres de i dans T¡ paramètres: i,N:entier T: Tabl N ß 0 tant que NOT (i=0) faire N ß N +1 TN ß i mod 10 i ß i\10 ftant fproc fonction Somme(T,N) ¡Calcule la somme des N éléménts de T¡ paramètres: T: Tabl N: entier à valeur: entier entier: S,i S ß 0 pour i de 1 à N faire S ß S+Ti fpour résultat(S) procédure Inverse(¯T,¯ N) ¡Inverse l'ordre des éléménts de T¡ paramètres: T: Tabl N: entier entier: i,j,Tmp pour i de 1 à N\2 faire Tmp ß Ti Ti ß TN-i+1 TN-i+1 ß Ti fpour fproc procédure ShiftGauche(¯T,¯ N,¯ k) ¡Déplace tous les éléménts de T de k cases¡ paramètres: T: Tabl N,k: entier entier: i,j,Tmp pour i de 1 à k faire Tmp ß T1 pour j de 1 à N-1 faire Tj ß Tj+1 fpour TN ß T1 fpour fproc entier i,S tabl: T pour i de 10 à 1000 faire Chiffres(i,T,N) Inverse(T,N) S ß Somme(T,N) tant que NOT (S³ i) faire ShiftGauche(T,N,1) TN ß S S ß Somme(T,N) ftant si S=i alors écrire i,"est un nombre de Keith" fsi fpour