Meraklı bir çocuk bir sayı veya aşağıdaki formda bir ifade çarpanlara bir programı kullanır: p1^e1 * p2^e2 * ... * pn^en. Eşdeğer 1üsler, örn.360 = 2^3 * 3^2 * 5
Çocuk bu çıktıyı programa yeni girdi olarak yazar, ancak ^işareti anlamıyor, bu yüzden bazen ilgili ana ve üsleri birleştirenlerden bir veya daha fazlasını atlıyor. Örneğin(360 =) 2^3 * 3^2 * 5 => 2^3 * 32 * 5 (= 1280)
Bu hatalar nedeniyle tekrar girebileceği farklı bir çarpanlara ayırma yapabilir (0 veya daha fazlasını atlayarak ^). Çarpanlara ayırma artık değişmeyene kadar işlemi tekrarlar (belki artık başka bir şey kalmaz ^veya çıktıyı doğru kopyalar).
Bir integer n( n>1) verilen tüm olası sayıları artan sırayla çıkaran bir program veya işlev yazmalısınız n. Örneğin, girdi 16için olası son faktörleştirmeler(16 =) 2^4, (24 =) 2^3 * 3, (23*3 =) 3 * 23
Giriş ayrıntıları:
- girdi, daha büyük tek bir tamsayıdır
1 - çıkış sayısı daha büyük olan hiçbir girdi verilmeyecektir
2^31-1 1000çıkış numaralarından daha fazlasını üreten hiçbir giriş verilmeyecektir
Çıktı ayrıntıları:
- kendi dilinize uygun bir tamsayı listesi
Örnekler:
Giriş => Çıkış
11 => 11
16 => 16 24 69
360 => 140 360 770 1035 1219 1280 2875 3680
605 => 560 605 840 2415
2048 => 211 2048
58564 => 230 456 1311 2508 9975 12768 13794 20748 58564 114114 322102
Bu kod golf çok kısa bir program kazanır.