→ maplefog:遇到同一被除數就跳出感覺怪怪的 例如0.242323242323... 05/29 17:27
→ maplefog:或0.2222422224...之類的 所以覺得算到小數後第60位後 05/29 17:39
→ maplefog:再用字串判斷第一次循環小數是多少 05/29 17:41
→ mantour:遇到同一被除數就會循環了 05/29 17:56
→ mantour:一樓應該是有什麼地方弄錯了 05/29 17:57
→ mantour:你說的 0.242323242323... = 242323/999999 05/29 18:02
→ mantour:0.2222422224 = 22224/99999 05/29 18:03
→ mantour:0.2222422224... = 22224/99999 05/29 18:03
→ mantour:自己用長除法除一下就知道這個做法是對的 05/29 18:03
推 winterboy209:1/6=0.166666666666666666 輸出6 05/29 18:04
→ mantour:用商數來判斷循環基本上就是錯的 05/29 18:04
→ mantour:就算你算到60位還是可能錯 05/29 18:05
→ bleed1979:儲存每一次的商數+被除數,ACM測資循環破千位。 05/29 19:44
→ jlovet:一樓,我是說同一個被除數,不是同一個商, 05/29 21:45
→ jlovet:不然隨便小數點下十位就over了 05/29 21:45
推 walker2009:假設分數是 m/n , 由於除以n最多只會有 0~n-1 這些餘數 05/30 23:44
→ walker2009:設個 flag[n] , 初始為0, 如果做長除法時某個餘數出現 05/30 23:45
→ walker2009:某個餘數r出現在位置p 05/30 23:46
→ walker2009:if(flag[r]==0) flag[r]==p; 05/30 23:47
→ walker2009:else 這個餘數之前出現過, 因此有循環小數! 05/30 23:47