Re: [問題] 從二進位判斷數字是否被5整除

看板Prob_Solve作者 (atoi)時間7年前 (2017/03/02 05:00), 編輯推噓3(308)
留言11則, 5人參與, 最新討論串6/6 (看更多)
如果input同樣都是二進位值,從右邊的bit開始往左看,這些bit換成10進值再除以5的餘數會分別是1, 2, 4, 3一直循環下去,那其實只要把bit為1的那些餘數做加總,最後一次除以5看餘數是否為0應該就行了。 不知這樣如何呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.216.14 ※ 文章網址: https://www.ptt.cc/bbs/Prob_Solve/M.1488402007.A.9E0.html

03/02 07:32, , 1F
這個問題在於,運算次數全等於把原值換成十進位再除以5求
03/02 07:32, 1F

03/02 07:32, , 2F
餘數,除了被除數值能小很多以外沒任何優點
03/02 07:32, 2F

03/02 07:40, , 3F
也不符合原題要的automata形式
03/02 07:40, 3F

03/02 07:43, , 4F
不用阿,不用換成10進制,1、2、4、3這樣循環不用換的
03/02 07:43, 4F

03/02 07:45, , 5F
是會整個所有bit掃一次沒錯啦
03/02 07:45, 5F

03/02 07:47, , 6F
哦對,我沒注意到要建立automata,在第一句話有提到,呵呵
03/02 07:47, 6F

03/02 12:36, , 7F
如果input是以4n bit的型式,應該是可以建automata
03/02 12:36, 7F

03/02 12:39, , 8F
由右到左一次掃4bit這樣
03/02 12:39, 8F

03/02 23:10, , 9F
如果 4bit 可以 那 1bit 也可以吧.. 只是要多一些 states
03/02 23:10, 9F

03/03 16:24, , 10F
00 01 10 11, 4個state就好了吧。 00補0 或10補1
03/03 16:24, 10F

03/03 17:17, , 11F
我錯了0_0
03/03 17:17, 11F
文章代碼(AID): #1OjpPNdW (Prob_Solve)
討論串 (同標題文章)
文章代碼(AID): #1OjpPNdW (Prob_Solve)