作者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/cn.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