Stała Champernowne to liczba konstruowana przez połączenie pierwszych n
liczb z n
tendencją do nieskończoności. Wygląda to mniej więcej tak:
0.123456789101112131415161718192021222324252627282930...
Teraz opiszę ci numer Rien . Można to uznać za minimalizację stałej Champernowne jako liczby całkowitej. Ja odnoszą się do Rien liczby z pierwszymi n
cyframi, Ri ( n ). Oto jak to sformułować:
- Pierwsze
n
liczby naturalne (sekwencja {1,2,3, ...}) są łączone. - Wynik ten jest następnie sortowany według wartości cyfrowej. Tak
1..12
by wyglądało011111223456789
. - Ponieważ Rien liczba nie może mieć zer, ruszamy wszystko
0
jest tak, że są one znaczące, utrzymując liczbę zminimalizowane, co powoduje, powiedzmy101111223456789
. To jest Ri ( n ), w tym przypadku Ri (12).
Oto kilka wyników dla Ri ( n ):
n Ri ( n ) 1 1 2 12 3 123 7 1234567 9 123456789 10 10123456789 15 101111111223344556789 34 10001111111111111222222222222223333333334444555666777888999 42 100001111111111111122222222222222233333333333333444444455556666777788889999 45 100001111111111111122222222222222233333333333333344444444444555556666777788889999 55 10000011111111111111122222222222222223333333333333333444444444444444455555555555566666777778888899999 100 10000000000011111111111111111111222222222222222222223333333333333333333344444444444444444444555555555555555555556666666666666666666677777777777777777778778888888888888888899999999999999 999100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
Cel Biorąc pod uwagę liczbę 1 ≤ n
<10000 jako dane wejściowe (przez argumenty, STDIN lub kodowanie na stałe, jeśli twój język nie obsługuje konwencjonalnego wprowadzania), wyjście / powrót Ri ( n
).
To jest golfowy kod , więc wygrywa najkrótszy kod w bajtach. Możesz używać języka, który został stworzony po tym konkursie, o ile nie został on stworzony do odpowiedzi na to wyzwanie. (Oczywiście możesz go użyć, jeśli stanowi ciekawe rozwiązanie, ale zaznacz swoją odpowiedź jako niekonkurującą).
Realizacja referencyjna
Przetestowałem to w IE, więc naprawdę nie powinno być problemu. Jeśli jest problem, istnieje proste rozwiązanie: zdobądź rozsądną przeglądarkę.
function min(n) {
var seq = [];
for(var i = 1; i <= n; i++) seq.push(i);
seq = seq.join("").split("").map(Number);
var to;
if(seq.indexOf(1) >= 0) to = seq.splice(seq.indexOf(1), 1);
seq.sort(function(a, b) {
return a - b;
});
if(to) seq = to.concat(seq);
return seq.join("");
}
t.onchange = t.onkeyup = function() {
h.innerHTML = min(this.value)
}
* {
font-family: Consolas, monospace;
}
input {
border: 2px dotted #aaaaaa;
border-radius: 5px;
margin: 10px;
}
<input id="t" type="number">
<div id="h">
Tabela liderów
Fragment kodu na dole tego postu generuje katalog na podstawie odpowiedzi a) jako listy najkrótszych rozwiązań dla każdego języka oraz b) jako ogólnej tabeli wyników.
Aby upewnić się, że twoja odpowiedź się pojawi, zacznij od nagłówka, korzystając z następującego szablonu Markdown:
## Language Name, N bytes
gdzie N
jest rozmiar twojego zgłoszenia. Jeśli poprawić swój wynik, to może zachować stare porachunki w nagłówku, uderzając je przez. Na przykład:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Jeśli chcesz umieścić w nagłówku wiele liczb (np. Ponieważ twój wynik jest sumą dwóch plików lub chcesz osobno wymienić kary za flagi tłumacza), upewnij się, że rzeczywisty wynik jest ostatnią liczbą w nagłówku:
## Perl, 43 + 2 (-p flag) = 45 bytes
Możesz także ustawić nazwę języka jako link, który pojawi się we fragmencie:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
1
przed nimi 0
, tak?
0
to numer Rien .