Matematik üzerine bu sorudan esinlenerek .
Bir sayının asal çarpanlarına ayırması için n , P (n) = 2 a x 3 b x 5 c x ... olarak gösterilsin .
( X çarpma sembolü olarak kullanılır.)
Sonra n'nin bölenlerinin sayısı D (n) = (a + 1) x (b + 1) x (c + 1) olarak temsil edilebilir .
Bu nedenle, kolaylıkla bölenler sayısı söyleyebiliriz 2n olan D (2n) = (a + 2) x (B + 1) x (c + 1) ... ,
bir bölenler sayısı 3N olan D (3n ) = (a + 1) x (B + 2) x (c + 1) ... ,
vb.
Meydan okuma:
Belirli bölen girişleri verildiğinde, n'yi hesaplamak için bu özellikleri kullanan bir program veya işlev yazın .
Giriş:
Bir dizi tamsayı olarak, aşağıdaki tanımların hepsini kullanarak onlara w, x, y, z diyelim :
- tüm girişler 1'den büyük -
w, x, y, z > 1
- x ve z farklıdır -
x<>z
- x ve z asaldır -
P(x)=x
,D(x)=2
veP(z)=z
,D(z)=2
- w arasında bölenler sayısıdır xn -
D(xn)=w
- Y ve bölenler sayısıdır zn -
D(zn)=y
Bağlantılı soruda verilen sorun için bir girdi örneği olabilir (28, 2, 30, 3)
. Bu, D(2n)=28
ve D(3n)=30
ile birlikte anlamına gelir n=864
.
Çıktı:
Yukarıdaki tanımları ve giriş kısıtlamalarını karşılayan tek bir tamsayı ( n) . Tanımlara birden fazla sayı sığarsa, en küçük çıktıyı alın. Böyle bir tamsayı mümkün değilse, bir falsey değeri verin.
Örnekler:
(w, x, y, z) => output
(28, 2, 30, 3) => 864
(4, 2, 4, 5) => 3
(12, 5, 12, 23) => 12
(14, 3, 20, 7) => 0 (or some other falsey value)
(45, 13, 60, 11) => 1872
(45, 29, 60, 53) => 4176
Kurallar:
- Standart kod golf kuralları ve kaçamak kısıtlamaları geçerlidir.
- Standart giriş / çıkış kuralları geçerlidir.
- Giriş numaraları herhangi bir sırada olabilir - lütfen cevabınızda hangi sırayı kullandığınızı belirtin.
- Giriş numaraları herhangi bir uygun biçimde olabilir: boşlukla ayrılmış, bir dizi, ayrı bir işlev veya komut satırı bağımsız değişkenleri, vb. - seçiminiz.
- Benzer şekilde, STDOUT çıktısı, çevredeki beyaz alan, sondaki satır başı, vb. İsteğe bağlıdır.
- Girdi ayrıştırma ve çıktı biçimlendirmesi bu zorluğun ilginç özellikleri değildir.
- Aklı başında karmaşıklığın ve tamsayı taşmalarının yararına, n numaralı zorluğun kısıtlamaları olacaktır
1 < n < 100000
- yani, bu aralığın dışındaki olası cevaplar hakkında endişelenmenize gerek yoktur.