MATL , 25 bytes
Isso funciona para entrada até 16
:
10,i:^9/Y[t0)Yftb!w\~s1=)
A versão a seguir usa 31 bytes e funciona até 18
. Para 19
isso, requer cerca de 4 GB de memória (não consegui executá-lo).
10,i:^9/Y[t0)5X2Y%Yfotb!w\~s1=)
Exemplo
>> matl
> 10,i:^1-,9/t0)5X2Y%Yfotb!w\~s1=)
>
> 6
7 13
Explicação
Considere a entrada de concretude 6
. Primeiro, os principais divisores de 111111
são calculados; neste caso, os resultados são 3
, 7
, 11
, 13
, 37
. Em seguida, a operação de módulo (resto de divisão) é calculado para todas as combinações de números 1
, 11
, ... 111111
e os divisores computados. Isso explora a expansão implícita de singleton do MATL. O resultado é, neste caso, uma matriz 6
x 5
, com cada coluna correspondendo a um dos divisores. Divisores aceitos (colunas) são aqueles para os quais apenas o 1
valor (ou seja, o último) fornece zero restante.
10,i:^9/Y[ % generate vector with `1`, `11`, ... depending on input number, say "n"
t0) % pick the last element: `111...1` (n ones)
5X2Y% % * convert to uint64, so that larger numbers can be handled
Yf % prime factors
o % * convert to double precision, so that modulus can be done
t % duplicate
b % bubble up element in stack
! % transpose
w % swap elements in stack
\ % modulus after division (element-wise, singleton expansion)
~s % number of zero values in each column
1= % is equal to 1? (element-wise, singleton expansion)
) % index divisors with that logical index
(*) Removido na versão curta
Luis Mendo
fonte
fonte
Respostas:
Julia, 103 bytes
Esta é uma função sem nome que chama uma função auxiliar
R
. Para chamá-lo, dê um nome à função principal, por exemplof=n->...
.Ungolfed:
fonte
LabVIEW, 33 Primitivas do LabVIEW
19 leva uma eternidade ...
Trabalhe salvando todos os Primes e excluindo elementos do último conjunto quando eles forem encontrados na outra matriz.
fonte
J, 24 bytes
Espera valores numéricos de precisão estendida após 6 (por exemplo, em
19x
vez de19
).Experimente online!
Provavelmente existe uma maneira mais curta de gerar as repunições, o que evita os limites também.
Explicação
Como funciona, visualmente
Penso que este tipo de explicação visual é mais fácil de suportar para quem não conhece J. Estes são resultados do REPL.
fonte