Aşağıdaki gibi bazı sayılar: 6, 12, 20, 30, 42, 56, 60, 90, 120 ve benzerleri, aşağıda gösterildiği gibi ardışık tam sayıların bir ürünü olarak ifade edilebilir.
6 = 2 * 3
12 = 3 * 4
30 = 5 * 6
60 = 3 * 4 * 5
90 = 9 * 10
120 = 4 * 5 * 6
Ürünün belirtilen sayıya eşit olduğu ardışık tamsayıların bir listesini çıkaran bir program veya işlev yazın.
Bu mantık için uygun olmayan sayılara örnekler:
99 = 9 * 11 (Product of non-consecutive numbers)
121 = 11 * 11 (Same numbers)
2 = 1 * 2 (Product of itself and 1)
13 = 13 (Product of only one number)
Lütfen 2 = 2 * 1, 1 ile çarpılan bir tamsayı aynı sonucu verdiğinden, geçerli bir sonuç olarak değerlendirmediğimizi unutmayın . Bu soru için, üründe yalnızca> = 2 tamsayısını dikkate alacağız.
Giriş
Geçerli bir 32 bit pozitif tam sayı. Standart girdi, bir işlev bağımsız değişkeni vb. Olabilir.
Çıktı
Ardışık tam sayıların listesi> = 2 (artan veya azalan sırada). Ardışık tamsayıların birkaç kombinasyonu varsa, sadece bir örneğin yapmasını sağlayın . Daha fazlasını sağlarsanız, para cezası.
Kısıtlamalar
Kodun standart bir bilgisayarda çalışması makul bir süre (<5 dakika) sürmelidir tüm geçerli girişler (pozitif 32 bit tamsayılar) için . Ardışık bir tamsayı ürün varsa, kod zaman sınırı içinde bir veya daha fazla çıktı almalıdır. Aksi takdirde, kod zaman sınırı içinde çıktı olmadan sonlandırılmalıdır.
Bu kod golf, yani bayt içindeki en kısa kod kazanır.
30=5*6.