Champernowne sabiti, ilk n
sayıları n
sonsuzluğa meyilli olarak birleştirerek oluşturulan bir sayıdır . Bu gibi bir şey görünüyor:
0.123456789101112131415161718192021222324252627282930...
Şimdi size Rien sayısını anlatacağım . Champernowne sabitinin bir tamsayı olarak en aza indirilmesi olarak düşünülebilir. İlk rakamları Ri ( n ) olarak gösteren Rien numarasına değineceğim . Bu nasıl formüle edilir:n
- İlk
n
doğal sayılar ({1,2,3, ...} dizisi) bir araya getirildi. - Bu sonuç, rakam değerine göre sıralanır. Öyle
1..12
görünürdü011111223456789
. - Yana Rien numarası lider sıfır olamaz, biz hiç hareket
0
, bunlar diyelim ki, neden minimize numarayı şekilde korurken anlamlı olacak şekilde s101111223456789
. Bu, Ri ( n ), bu durumda, Ri (12).
Ri ( n ) için bazı sonuçlar :
n Ri ( n ) 1 1 2 12 3 123 7 1234567 9 123456789 10 10123456789 15 101111111223344556789 34 1000111111111111122222222222222223333333334444555666777888999 42 10000111111111111112222222222222222233333333333333444444455556666777788889999 45 10000111111111111112222222222222222233333333333333344444444444555556666777788889999 55 10000011111111111111122222222222222222222333333333333444444444444444455555555555566666777778888899999 100 100000000000111111111111111111112222222222222222222233333333333333333333444444444444444444445555555555555555555566666666666666666666777777777777777777778888888888888888888899999999999999999999 999100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
Amaçn
Girdi olarak 1 ≤ <10000 sayısı veriliyorsa (eğer diliniz geleneksel girişi desteklemiyorsa argümanlar, STDIN veya kodlama yoluyla), Ri / / çıkış Ri ( n
).
Bu bir kod golfüdür , yani bayttaki en kısa kod kazanır. Bu yarışmaya cevap vermek için yapılmadığı sürece, bu yarışmadan sonra yapılmış bir dili kullanabilirsiniz. (Tabii ki, olabilir ilginç bir çözüm sağlar eğer, onu kullanın, ancak rekabetsiz olarak cevabınızı işaretleyin.)
Referans uygulaması
Bunu IE'de test ettim, bu yüzden gerçekten bir sorun olmamalı. Orada ise olan bir sorun, kolay bir çözüm var: aklı başında bir tarayıcı olsun.
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">
Liderler Sıralaması
Bu yazının altındaki Yığın Parçacığı, cevapları a) dil başına en kısa çözümün bir listesi olarak ve b) genel bir lider tablosu olarak oluşturur.
Cevabınızın göründüğünden emin olmak için, lütfen aşağıdaki Markdown şablonunu kullanarak cevabınızı bir başlık ile başlatın:
## Language Name, N bytes
Gönderinizin N
büyüklüğü nerede ? Puanınızı artırmak varsa, olabilir onları içinden vurarak, başlığa eski hesapları tutmak. Örneğin:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Başlığınıza birden fazla sayı eklemek istiyorsanız (örneğin, puanınız iki dosyanın toplamı olduğundan veya tercüman bayrağı cezalarını ayrı ayrı listelemek istediğiniz için), gerçek puanın başlıktaki son sayı olduğundan emin olun :
## Perl, 43 + 2 (-p flag) = 45 bytes
Dil adını, daha sonra pasajda görünecek bir bağlantı da yapabilirsiniz:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
1
önüne geçebiliriz 0
, tamam mı?
0
olduğunu rien sayı.