是否有任何可能性在非常大的數字部分(超過C/C++中的最大整數類型的最大值,比如2^20)中找到循環長度,而不涉及磁盤去執行它?最好的情況是按順序分析它們,因爲它們是從標準輸入到達的,但我確信這是不可能的,我需要將它們存儲在內存中。但我希望我錯了。數字值是整數,它們來自標準輸入。在非常大的數字序列中查找期間
實施例: 輸入:(1 2 3 ...(2^20個的三元組1 2 3)...... 1 2 3) 期望的結果:3
EDIT
讓我們將週期看作一個週期(f(x)= f(x + t),對於某個t) - 尋找t的值 - 尋找t的值
假設操作存儲器太少而無法存儲所有數字(數字可能大於2^20),可能是gmp類型。
ummmm ......這樣的 「循環」 你的意思是重複子? –
您可能必須解釋爲什麼「3」是您示例中所需的結果。爲什麼不是1? –
因爲3是循環的長度,所以更正 – deha