Biorąc pod uwagę liczbę całkowitą n
jako dane wejściowe, zwraca listę zawierającą n
powtarzane n
czasy. Na przykład program wziąłby go 5
i przekształcił w [5,5,5,5,5]
. Elementy muszą być liczbami całkowitymi, a nie ciągami. Żadne wbudowane funkcje, które wykonują to zadanie, nie są dozwolone.
To jest golf golfowy , więc obowiązują standardowe zasady.
code-golf
number
array-manipulation
integer
Bruno E.
źródło
źródło
built-in
.*
operator Pythona jest w porządku? Jaki jest przykład wbudowanego, który nie jest w porządku?Odpowiedzi:
Galaretka , 1 bajt
Wypróbuj online!
Zauważ, że nie jest to
n
n
wbudowane „powtarzanie czasów” - jego funkcja jest bardziej ogólna. Na przykład4,5,6x1,2,3
jest równy[4, 5, 5, 6, 6, 6]
. Biorąc pod uwagę tylko jeden argument, Jelly właśnie dzieje się z niego korzystać zarówno z lewej i prawej argumentu dla podanego linku, ale ta funkcjonalność nie jest właściwy dox
.Jeśli to się nie liczy, istnieją różne zabawne 2-bajtowe alternatywy:
itp.
źródło
x
wykonała „całą pracę”, ale z pewnością nie - nie ma ukrytego „0 bajtów” logiki parsowania linków i logiki koercji tablicrepeat([n], n)
, która zamienia to w to , co dokładnie inne odpowiedzi robić.ṁ
iẋ
tak ta odpowiedź mogłaby być jednym z trzech. Nie ma 3 wbudowanych (można by mieć nadzieję) „powtórzeńn
n
czasów”, więc nie mogą być WSZYSTKIM „wbudowanymi”.Python 3 , 14 bajtów
Wypróbuj online!
źródło
[n]*n
?Operacja Flashpoint język skryptowy ,
5046 bajtówZadzwoń z:
Wynik:
źródło
i--
, i+=
w tym?APL (Dyalog) , 2 bajty
Pięć równie krótkich rozwiązań. Dwa ostatnie są dzięki uprzejmości Zacharý .
Wypróbuj online!
⍴
cykliczne R eshape⍨
samego siebieWypróbuj online!
/
replika⍨
samego siebieWypróbuj online!
\
rozszerzać⍨
samego siebieWypróbuj online!
⌿
replikacja wzdłuż pierwszej (i tylko) osi⍨
samego siebie⍀
rozwinąć wzdłuż pierwszej (i tylko) osi⍨
samego siebieWypróbuj online!
źródło
⌿⍨
i⍀⍨
praca.⍨
, wpisując `` selfie .Mathematica, 10 bajtów
źródło
Proton , 8 bajtów
Wypróbuj online!
źródło
Oktawa, 12 bajtów
Wypróbuj online!
źródło
~
tonot
operator konwertujący 1: n na tablicę0
s rozmiaru n. Możesz użyć!
zamiast tego.JavaScript (ES6), 19 bajtów
Spróbuj
źródło
...
- cokolwiek dalej ?!Pyth , 2 bajty
Zestaw testowy .
źródło
Haskell , 13 bajtów
Wypróbuj online! Zastosowanie:
f 5
plony[5,5,5,5,5]
. Dlan=5
,[1..n]
otrzymuje listę[1,2,3,4,5]
.n<$
zastępuje każdy element tej listy nan
.źródło
join replicate
join
nie jest częścią Preludium i dlatego wymaga długiego czasuimport Control.Monad
, co rzadko czyni go przydatnym do gry w golfa.R , 18 bajtów
Wypróbuj online!
źródło
rep(n<-scan(),n)
zbyt blisko wbudowanego?05AB1E , 2 bajty
Wypróbuj online!
źródło
.D)
.Dodos , 76 bajtów
Wypróbuj online!
Wyjaśnienie:
f
to pseudonim dladab
(tail).s
to odejmowanie, jak wyjaśniono na wiki: (x, y) → (0, y-x), gdy x ≤ y .t
odwzorowuje (a, b, c…) na (b + c +…, a + b + c +…) .f s t
mapy (a, b, c…) do a . To jest nasza funkcja „głowy”.d
zanurza tylko głowę argumentu: (a, b, c…) → (| a − 1 |, b, c…)r
jest główną logiką powtarzania. Odwzorowujemy (a, b) na (* r (| a-1 |, b), b) .Na przykład r (4, 7) będzie oceniać jako
Na koniec definiujemy
2
, które mapy n → (n, n) , i definiujemymain
jakof f r 2
, obliczając r (n, n) i odcinając pierwsze dwa elementy.źródło
Japt , 2 bajty
Sprawdź to
Wyjaśnienie
Domniemane wprowadzenie liczby całkowitej
U
. Wygeneruj tablicę liczb całkowitych od0
doU-1
. Wypełnij toU
. Niejawne wyjście wynikowej tablicy.źródło
TeX, 81 bytes
Usage
źródło
Husk, 2 bytes
Try it online!
Polite alternative (3 bytes)
Try it online!
źródło
Haskell (14 bytes)
Thanks to @nimi, I don't need any import anymore. Yay!
It's a function that takes an integer argument; for example, the following returns
[5,5,5,5,5]
:źródło
id=<<replicate
? It's also 14 bytes but doesn't need the import.Java (OpenJDK 8),
5048 bytesTry it online!
-2 bytes thanks to @Jakob
Inspired by the comments in @OlivierGrégoire's post, and optimized a little further. Takes an integer input, creates an IntStream of
n
elements, then maps each element ton
and returns it.źródło
java.util.Arrays.stream(new int[n])
.Perl 5,
1814 bytes-4 bytes thanks to @DomHastings
Try it online!
Is
x
a builtin that does the entire task? Sort of? Not really? Rules unclear?Edit: Yeah, probably it's fine.
źródło
$_[0]
to@_
! Also the second can be"@_"
I think...$_=$_ x$_
withperl -pe
?x
does string repetition, not list repetition, unless the left operand is in parentheses (or is aqw
operator) and thex
is evaluated in list context. And of course$_
is a scalar, not a list.J, 2 bytes
Same as the APL answer: reflexively shape the input. In other words:
źródło
Brainbash, 39 bytes
Try it online!
Prints
N
N
times. Works by generating 32, taking input, then duplicating the input twice, then output the first for each 1 in the second.źródło
C (gcc), 55 bytes
Try it online!
Returns a list of
k
integers.źródło
eax
for locals. Go figure.*f(k){int r[k],
instead ofint*f(k){int*r=malloc(k*4),
Röda, 10 bytes
Try it online!
Explanation:
źródło
[_]*_
=[_1]*_2
. Because the first underscore is the first, it has automatically the number 1.Groovy, 9 bytes
Try it online!
Perhaps the most competitive groovy answer I've done to date.
źródło
brainfuck, 16 bytes
Try it online!
The breakdown:
As I'm sure you're aware, brainfuck takes input and output values as ASCII characters. So a
!
is represented as the value 33.źródło
Coreutils, sed, 14 bytes
As a zsh function,
2019 bytes:Try it online!
źródło
yes $1|sed $1q
?declare -i
integer variables. But it also has to be an array. I'm not sure bash even supports an integer array (likeeval declare -ia "$1"
to use the first function arg as the name of an array return value.) I upvoted this because it follows the spirit of the question; I doubt the question meant to exclude languages that don't really have integer lists / arrays.MATL,
43 bytesTry it online!
Explanation:
źródło
Java (OpenJDK 8),
5856 bytesTry it online!
-2 bytes thanks to @KevinCruijssen
źródło
n->{int a[]=new int[n],i=n;for(;i-->0;)a[i]=n;return a;}
IntStream.generate(() -> n).limit(n)
but decided it wasn't worth typing up and upvoted this instead :)cQuents v0, 3 bytes
Try it online!
Explanation
źródło
&
instead of::
Swift 3, 29 bytes
Try it here!
Swift 3, 30 bytes
Try it here!
źródło
Array.init
. Just assign it to a variable with a type alias, and boom:let f: (Int, Int) -> [Int] = Array.init; print(f(5, 5))