作者atoi (atoi)
看板Prob_Solve
標題Re: [問題] 從二進位判斷數字是否被5整除
時間Thu Mar 2 05:00:05 2017
如果input同樣都是二進位值,從右邊的bit開始往左看,這些bit換成10進值再除以5的餘數會分別是1, 2, 4, 3一直循環下去,那其實只要把bit為1的那些餘數做加總,最後一次除以5看餘數是否為0應該就行了。
不知這樣如何呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.216.14
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Prob_Solve/M.1488402007.A.9E0.html
1F:推 ddavid: 這個問題在於,運算次數全等於把原值換成十進位再除以5求 03/02 07:32
2F:→ ddavid: 餘數,除了被除數值能小很多以外沒任何優點 03/02 07:32
3F:推 ddavid: 也不符合原題要的automata形式 03/02 07:40
4F:→ atoi: 不用阿,不用換成10進制,1、2、4、3這樣循環不用換的 03/02 07:43
5F:→ atoi: 是會整個所有bit掃一次沒錯啦 03/02 07:45
6F:→ atoi: 哦對,我沒注意到要建立automata,在第一句話有提到,呵呵 03/02 07:47
7F:→ firejox: 如果input是以4n bit的型式,應該是可以建automata 03/02 12:36
8F:→ firejox: 由右到左一次掃4bit這樣 03/02 12:39
9F:推 FRAXIS: 如果 4bit 可以 那 1bit 也可以吧.. 只是要多一些 states 03/02 23:10
10F:→ outofyou: 00 01 10 11, 4個state就好了吧。 00補0 或10補1 03/03 16:24
11F:→ outofyou: 我錯了0_0 03/03 17:17