n750. 10858 - Unique Factorization
標籤 :
通過比率 : 40人/45人 ( 89% ) [非即時]
評分方式:
Tolerant

最近更新 : 2024-05-23 12:22

內容

你們中有些人可能聽過這個笑話:有個男孩不再上學,因為他認為他的老師瘋了。當他的父母問他為什麼這麼覺得時,男孩回答說:“兩天前,我的數學老師說,12 = 4 × 3,而昨天她又說12 = 6 × 2。我怎麼能信任這樣一個自相矛盾的老師呢?”他的父母向他解釋了情況,於是男孩相信了,繼續上學。幾年後,男孩想知道一個數有多少種分解方式。他拿起筆和紙,發現對於大數來說,這個任務變得相當繁瑣。因此,他向你尋求幫助。他希望你能寫一個程序來解決他的問題。

輸入說明

輸入檔案最多包含 20 個案例。每行輸入包含一個正整數,N ≤ 2000000。最後一個案例後面會有一個值為 0 的 N,該值不應被處理。

輸出說明

對於每個案例,會有一行或多行的輸出。每組輸出的第一行應包含數字 F,表示 N 唯一分解的方式數量。如果 F > 0,則接下來的 F 行應包含 N 的分解方式。分解中的數字應按非遞減順序排序,並且單個分解應按字典順序排序。輸出數字時,數字之間應該有空格。請參見 N = 20 的範例輸出以了解詳細說明。分解的排列順序被認為是相同的。也就是說,12 = 4 × 3 和 12 = 3 × 4 被視為相同的分解。

注意:為了限制答案的有限值,分解中不應包含任何 1,並且分解中應至少有兩個數字。因此,對於此問題,20 = 1 × 20 不是 20 的分解。

範例輸入 #1
1
20
0
範例輸出 #1
0
3
2 2 5
2 10
4 5
測資資訊:
記憶體限制: 64 MB
提示 :
標籤:
出處:
UVA [管理者: ig99lp33lp33 (위즈원) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
41932 alen24816@gm ... (AlenLU(軟工一014呂宥...) n750
python 參考答案
102 2024-09-11 15:10