introduction
Prenons le nombre 180
. C'est un nombre intéressant car la somme des chiffres de ce nombre est égale à:
1 + 8 + 0 = 9
Et la version au carré de ce nombre, ou:
180² = 32400 > 3 + 2 + 4 + 0 + 0 = 9
Ceux - ci sont à la fois 9 . La somme des chiffres du nombre d'origine et du nombre au carré est identique. Bien sûr, cela se trouve également à OEIS: A058369 .
Tâche
Étant donné un entier non négatif n
, sortez le n
e nombre positif avec cette condition.
Cas de test ( indexés zéro )
Input > Output
0 > 1
1 > 9
2 > 10
3 > 18
4 > 19
5 > 45
6 > 46
7 > 55
8 > 90
9 > 99
10 > 100
11 > 145
12 > 180
13 > 189
14 > 190
15 > 198
16 > 199
17 > 289
18 > 351
19 > 361
L'entrée peut également être indexée 1 si cela vous convient mieux.
C'est du code-golf , donc la soumission avec le moins d'octets gagne!
^₂;?{ẹ+}ᵛ
Réponses:
Gelée, 13 octets
L'entrée est indexée sur 1. Essayez-le en ligne!
Comment ça marche
la source
Haskell, 54 octets
Exemple d'utilisation:
([x|x<-[1..],s x==s(x^2)]!!) 17
->289
.la source
JavaScript (ES6),
76 7372 octetsJ'ai passé 30 minutes à essayer de le faire fonctionner jusqu'à ce que je réalise que je produisais la mauvaise variable: |
Ceci est indexé zéro.
la source
Perl 6,
4746 octetsla source
05AB1E ,
1098 octets1 indexé.
-1 octet grâce à @Emigna en supprimant l'implicite
½
(augmentationcounter_variable
après chaque itération) à la fin-1 octet grâce à @Grimy supprimant le doublon
SO
en utilisant‚1ö
Essayez-le en ligne.
Explication:
la source
½
ici car c'est impliciteµNDn‚1öË
.1ö
est commeSO
mais vectorise, ce qui nous permet d'éviter la duplication de code.Mathematica, 64 octets
Fonction anonyme simple. Zéro indexé.
la source
Pyth, 15
1 octet grâce à DenkerAffe!
Essayez-le ici ou exécutez une suite de tests .
Utilise l'option 1 indexée.
Implémentation naïve utilisant
.f
qui obtient les premiersn
nombres qui correspondent à la condition donnée.la source
h
si vous utilisez l'indexation 1 qui est explicitement autorisée.MATL ,
2423 octetsUtilise une entrée basée sur 1.
Essayez-le en ligne!
la source
Julia,
7966 octetsIl s'agit d'une fonction récursive qui accepte un entier et renvoie un entier. Il utilise une indexation basée sur 1.
Nous stockons quelques éléments comme arguments de fonction:
n
: L'entréex
: Un compteur pour combien de nombres avec cette condition nous avons trouvéi
: Un numéro pour vérifier l'états
: Une fonction pour calculer la somme des chiffres de son entréeAlors que
x
est inférieur à l'entrée, nous récursions, incrémentantx
sii
remplit la condition et incrémentanti
. Une foisx == n
, nous revenonsi
, mais nous devons soustraire 1 car il aura été incrémenté une fois de plus.la source
Convexe 0,2,
3635 octetsConvex est un nouveau langage que je développe qui est fortement basé sur CJam et Golfscript. L'interprète et l'IDE peuvent être trouvés ici . L'entrée est un entier dans les arguments de la ligne de commande. Les index sont à base unique. Utilise l' encodage CP-1252 .
la source
Mathematica,
63606159 octetsEn faisant cela, l'autre réponse est apparue, mais je les bat d'un seul octet et je poste ceci avant que l'on ne joue au golf.Un indexé.la source
>2457
. Augmenter simplement votre valeurRange
n'aidera pas, carA058369[n]/n
ne semble pas converger.10^#
serait plus court que2^#*9
. Bien sûr, cela devient trop lent après que n soit supérieur à environ 6 ...9^#
? FilRétine, 103 octets
Certainement golfable.
Utilise la nouvelle fonction Retina
%
pour la quadrature (donc ne fonctionne pas encore avec la version en ligne).la source
Mathcad,
7050 octetsMathcad n'a pas de fonctions intégrées pour convertir un nombre en sa chaîne de chiffres, donc la fonction utilisateur d (a) fait ce travail. Un programme parcourt ensuite les entiers positifs, testant l'égalité des sommes, jusqu'à ce qu'il ait accumulé n nombres dans le vecteur v. Le programme est évalué à l'aide de l'opérateur =, qui affiche le vecteur de résultat. ( Notez que l'ensemble du programme apparaît exactement comme indiqué ci-dessous sur la feuille de calcul Mathcad )
Programme mis à jour: suppose l'initialisation par défaut de a à zéro et utilise le fait que Mathcad renvoie la valeur de la dernière instruction évaluée dans un programme.
Utilise l'ordre d'évaluation des expressions pour incrémenter la variable a dans la première sommation (et qui est ensuite disponible pour une utilisation dans la somme des carrés)
Programme d'origine: renvoie un vecteur de tous les nombres jusqu'à n.
la source
Japt , 15 octets
1 indexé
Essayez-le
la source
Java 8, 113 octets
0 indexé
Explication:
Essayez-le en ligne.
la source
Perl 5
-p
, 53 octetsComprend
+1
pour-p
1 basé
Essayez-le en ligne!
la source
TI-BASIC
6662 octetsAns
La fonction d'assistance génère la somme des chiffres de la valeur en
Ans
.Exemples:
Explication:
Remarque: TI-BASIC est un langage à jetons. Le nombre de caractères n'est pas égal au nombre d'octets.
la source
J , 62 octets
Essayez-le en ligne!
1 indexé. J encore une fois mal performé sur ces "nième" tâches, à cause de la mécanique de tenue de livres excessive.
la source
APL (NARS), 49 caractères, 98 octets
1 index, test:
la source
MathGolf , 10 octets
Essayez-le en ligne!
Explication
ú
la source