我有一種有趣的問題,過去幾天我一直無法解決。Modula Mathematics and Triple
在Haskell,我的方法:
c :: Int->(Int,Int,Int)
c x = ...
考慮到返回值的三個元素是A,B,C,使得返回值是(A,B,C),則該函數應取的輸入值,並進行如下操作:
增加1的值,並且在由1
同時減少x如果在任何時候一個等於25,則在下一步驟a設置爲0並且b增加1,x減少1.
如果在任何時候b等於25,則在下一步驟b被設置爲0(因此還有一個被設置爲0)和c增加1,x由1
如果降低在任何時間a,b和c是等於25,那麼它們都被重置爲0,並在接下來的步驟返回值將是(1,0,0),x由1
例如降低,對於x = 20,返回值是(20,0,0),對於x = 29,返回值是(3,1,0)
如何最好地實現這個任何想法?
難道我們假設'了','B'和'C'啓動在0?另外,是否有任何理由按照書面實現算法,或者你是否也接受使用'quot'和'rem'的簡單表達式? – jwodder
是的,對不起!忘了提及! – MrD
你確定'29'的值是'(3,1,0)'而不是'(4,1,0)'? – Xymostech