題目連結:
題目大意:
輸入第一列給定一正整數 T ,代表有 T 筆測試資料,每筆佔一列。每列給定兩正整數 n 、 m (0 < n 、 m < 10000000),請找出 n ÷ m 的小數點後非循環部分以及循環部分各自的長度為何?
範例輸入:
2
2 61
1 22
範例輸出:
0 60
1 2
解題思維:
但是因為這題的記憶體限制比較緊,所以基本上不能將每個步驟「被除數」都儲存下其為第幾步出現(這需要整數陣列)。但是我們可以儲存當前的被除數「有沒有」出現過(這需要布林陣列)。
所以當出現先前出現過的被除數,則可以再跑一次直到目前的被除數再次地出現。此時便可以得出循環節長度跟非循環長度。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。