Arka fon
Aşağıdaki gibi tanımlanmış bir dizi düşünün:
- İlk eleman 0;
- İkinci eleman 4;
- Üçüncü unsurdan itibaren değeri şu şekilde hesaplanabilir:
- Tamsayılar dizisini 0'dan dizinin önceki elemanına alarak (kapsayıcı veya özel, önemli değil);
- Daha önce göründüğü tamsayıları dizideki kümeden çıkarmak;
- Setin kalan elemanlarını bir araya getirmek; İstediğiniz değer budur.
İlginç bir şekilde, bu dizi henüz OEIS'te görünmüyor .
Görev
Bir tamsayıdır alan bir program ya da işlev Yazın n girdi olarak alır ve çıktı olarak , n dizisinin elemanından.
Test durumları
Dizinin ilk birkaç elemanı:
- 0
- 4
- 6 (1 + 2 + 3)
- 11 (1 + 2 + 3 + 5)
- 45 (1 + 2 + 3 + 5 + 7 + 8 + 9 + 10)
- 969 (1 + 2 + 3 + 5 + 7… 10 + 12… 44)
- 468930 (1 + 2 + 3 + 5 + 7… 10 + 12… 44 + 46… 968)
Açıklamalar
- Programınız teoride keyfi idare gerekir n unboundedly büyük tamsayılar ve hafıza sınırsız miktarda erişimi olan bir dil varyantı üzerinde çalıştırırsanız. (İkizleri olmayan dillerin 468930'un çok ötesine geçmesi pek mümkün değildir, ancak bu yanıtları kodlamak için mazeret değildir.)
- Dizi için 0 tabanlı veya 1 tabanlı dizinlemeyi seçebilirsiniz (örneğin, n = 1'in birinci öğeyi döndürmesi, n = 2'nin ikinci öğeyi döndürmesi ve benzeri); veya n = 0'ın birinci öğeyi döndürmesi size bağlıdır , n = 1 ikinci eleman vb.
- Kullandığınız algoritmada ve verimliliğinde herhangi bir gereksinim yoktur; dizinin tanımını doğrudan uygulayabilirsiniz (gerçekten yetersiz olmasına rağmen) ve aynı sonuçlara yol açan farklı bir algoritma da uygulayabilirsiniz.
Zafer durumu
Bu kod golf , yani bayt cinsinden ölçülen en kısa doğru program kazanıyor.