Bir tamsayının bölüm sayısı, tamsayının pozitif tamsayıların toplamı olarak temsil edilme yollarının sayısıdır.
Örneğin:
5
4 + 1
3 + 2
3 + 1 + 1
2 + 2 + 1
2 + 1 + 1 + 1
1 + 1 + 1 + 1 + 1
5 sayısını temsil etmenin 7 yolu vardır, bu nedenle 7, 5 numarasına karşılık gelen bölüm numarasıdır.
Bölüm numaraları: OEIS: # A000041
Talimatlar
Girdi olarak pozitif bir tamsayı alan ve en yakın iki bölüm numarasını oluşturan iki sayıyı giriş numarasına veren bir program yazın .
- Giriş 1 pozitif tamsayı olmalıdır.
- Giriş bir bölüm numarası değilse , çıkış, giriş numarasına en yakın iki bölüm numarasını oluşturan 2 farklı pozitif tamsayı olmalıdır. (İki bölüm numarası, çıktı numaralarından biri için eşit adaysa, hangisini seçtiğiniz önemli değildir.)
- Giriş durumunda olan bir bölüm numarası, çıkış, giriş numarası oluşturur 1 pozitif bir tamsayı olmalıdır.
- Giriş ve çıkış herhangi bir makul formatta olabilir.
- Girdinin 100 milyondan fazla olmayacağını varsayabilirsiniz (örneğin, çıktı asla 95'ten büyük olmayacaktır).
- Dahili hesapla bölüm numaralarına fonksiyonları vardır değil diğer birlikte izin Standart boşluklar .
- Bu kod golf , bu yüzden en az bayt sayısı kazanır.
Bölüm numaraları: OEIS: # A000041
Örnekler
Input: 66
Output: 11, 12
(11 ve 12 sayılarına karşılık gelen bölüm numaraları, 66'ya en yakın iki bölüm numarası olan 56 ve 77'dir.)
Input: 42
Output: 10
(42 sayısı zaten bir bölüm numarasıdır, bu nedenle bölüm numarasına karşılık gelen sayıyı çıktılayın.)
Input: 136
Output: 13, 14
(136'ya en yakın iki bölüm numarası aslında 136'dan daha azdır (örneğin, 101 ve 135), bu nedenle çıktı 14 ve 15'in aksine 13 ve 14'tür.)
Input: 1
Output: 0 or 1
(Bu özel durumda hem 0 hem de 1 geçerli çıkışlardır.)
Input: 2484
Output: 26, 25 or 26, 27
(2484 eşit d, çünkü bu çıkışların her ikisi de geçerlidir, i duruş 1958 ve 3010 den)
Input: 4
Output: 3, 4
(Evet)
5
en üstte. (Yeterince açık olmadığını düşünüyorsanız açıklama ekleyeceğim.)