Étant donné n=m^2
, renvoyez une liste d'entiers qui ne bordent pas la m x m
grille d'entiers 1 to n
.
Exemples
n = 1 (m = 1)
La grille:
[1]
Revenir:
[]
n = 4 (m = 2)
La grille:
[1,2]
[3,4]
Revenir:
[]
n = 9 (m = 3)
La grille:
[1,2,3]
[4,5,6]
[7,8,9]
Revenir:
[5]
n = 16 (m = 4)
La grille:
[ 1, 2, 3, 4]
[ 5, 6, 7, 8]
[ 9,10,11,12]
[13,14,15,16]
Revenir:
[6,7,10,11]
Pour des valeurs plus élevées de m
, cette réponse permet une excellente visualisation.
Règles:
- Vous pouvez prendre soit
m
oun
(oùn = m*m
).- Si la prise en
n
vous sont autorisés à avoir un comportement indéfini où il existe pasm
pourn
(EG 15). n > 0
,m > 0
: Les deux doivent être des valeurs entières.
- Si la prise en
- La sortie peut être un tableau 1D / 2D, une matrice ou un espace séparé
- La sortie doit être dans l'ordre du plus petit au plus grand.
- Si la sortie sous forme de matrice, cela signifie qu'elle doit être comme elle le serait dans la grille.
- Il s'agit du code-golf , le plus petit nombre de victoires d'octets.
Réponses:
C, 50 octets
Essayez-le en ligne!
la source
Octave , 31 octets
Renvoie une matrice.
Essayez-le en ligne!
la source
vec2mat
fonction auparavant.Octave , 26 octets
Le code définit une fonction anonyme qui entre
m
et sort un vecteur de colonne (éventuellement vide).Essayez-le en ligne!
Explication
la source
Gelée , 8 octets
Un lien monadique prenant
m
et renvoyant une liste de listes (les lignes intérieures).Essayez-le en ligne!
Comment?
la source
Pure Bash, 49
La réponse ennuyeuse:
Essayez-le en ligne .
Ou la réponse intéressante pour 52:
Essayez-le en ligne .
la source
Haskell , 31 octets
Essayez-le en ligne!
Version mathématique:
: P
la source
f(5)
devrait être7,8,9,12,13,14,17,18,19
R ,
444332 octetsEssayez-le en ligne!
Renvoie un vecteur.
la source
print
fonction pour amatrix
.m
dansmatrix(1:m^2,m,m,T)
:matrix(1:m^2,m,,T)
Gelée , 8 octets
Essayez-le en ligne!
la source
m
un pourrait²s⁸ḊṖ$⁺€
aussi faire l'affaire . (J'ai également publié unem
autre méthode alternative.)⁸
:(Proton , 28 octets
Essayez-le en ligne!
Prend m comme entrée.
Comment?
Filtre les entiers dans [k, k 2 -k) qui, lorsqu'ils sont divisés par k , donnent un reste supérieur à 1 . Cela garantit que les deux extrémités sont coupées, car la première donne 0 et la dernière donne 1 . Il est également garanti de retourner une valeur plus élevée pour tout entier valide, car ils sont consécutifs.
la source
Wolfram Language (Mathematica) , 31 octets
Essayez-le en ligne!
la source
Utilitaires Bash + GNU, 35
Essayez-le en ligne .
la source
05AB1E , 9 octets
Essayez-le en ligne!
la source
LItä¦¨ε¦¨
est très bien, la sortie peut être un tableau 2D.Python 2 , 44 octets
Essayez-le en ligne!
Je promets que c'est ma dernière réponse (à ce défi) aujourd'hui. Prend m comme entrée.
la source
Rubis , 32 octets
Prend
m
, renvoie un tableau unidimensionnel.Essayez-le en ligne!
la source
MATL , 8 octets
L'entrée est
m
. La sortie correspond aux nombres en ordre croissant.Essayez-le en ligne!
Explication
Considérez l'entrée
4
comme exemple.la source
APL (Dyalog Classic) , 14 octets
Essayez-le en ligne!
la source
Lot, 85 octets
Je ne peux pas facilement boucler de
2
àm-1
donc je boucle de3
àm
et ajuste le calcul.la source
Julia 0,6 , 36 octets
Essayez-le en ligne!
la source
Pari / GP , 26 octets
Essayez-le en ligne!
la source
Japt, 12 octets
J'ai passé tellement de temps à jouer au golf à l'extraction d'éléments que j'ai manqué de temps pour jouer à la génération de tableaux. Je remarque également seulement maintenant que nous pouvons prendre
n
comme entrée à la place afin que je puisse être en mesure d'enregistrer quelque chose là-bas. A revisiter ...Essayez-le
Explication
la source
J ,
2319 octets-4 octets grâce à FrownyFrog!
Essayez-le en ligne!
Ma solution originale:
J , 23 octets
Prend n en entrée, retourne une matrice
Comment ça fonctionne
1+i.
- génère une liste 1..n-@%:
- trouve la racine carrée de n et la nie (m)]\
- crée un tableau (matrice) mxm à partir de la liste^:2
- procédez deux fois:|:@}:@}.
- déposez la première ligne, puis déposez la dernière ligne, puis transposez[:
- coiffer la fourcheEssayez-le en ligne!
la source
1}:@}.-@%:}.@}:\1+i.
1 1}:@}.-@%:}:\1+i.
}.
Coque , 9 octets
Essayez-le en ligne!
Explication
la source
Japt , 14 octets
Prend
m
en entréeExplication
Essayez-le en ligne!
La solution qui prend
n
aussi 14 octets:Essayez-le en ligne!
la source
TI-BASIC,
4443 octets (à jeton)Version lisible:
Il était malheureusement nécessaire d'imprimer des listes vides manuellement car TI-BASIC ne le permet normalement pas. Si
m
on leur donnait plus de deux, le code pourrait être réduit à seulement 29 octets .la source
Pyth , 10 octets
Essayez-le ici!
Prend m comme entrée.
la source
Rouge ,
6362 octetsEssayez-le en ligne!
Ceci est un port rouge de la solution Python 2 de Haskell / Mr. Xcoder totalement humaine
la source
Propre , 45 octets
Essayez-le en ligne!
Ceci est juste la réponse Haskell totalement humaine, mais dans Clean.
la source
Pyt , 13 octets
Réponse de Jelly au port de Jonathan Allan
Explication:
Essayez-le en ligne!
la source
Python, 111 octets
la source
Java 8 ,
241183170162160 160132122 octetsEssayez-le en ligne!
Java le rend très difficile (beaucoup d'octets) lorsque vous devez créer un tableau de taille quelque peu "inconnue".
la source
Groovy
essentiellement Java.int
, en changeant le||
en|
et en supprimant les crochets du corps de ligne unique.