トップ «前の日記(2013-04-10(Wed)) 最新 次の日記(2013-04-13(Sat))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2013-04-11(Thu) 朝から晴れ。午後一時雨

listを倍にして足すと

某所で見た、[n0, n1, n2 ...] を、 n0*0 + n1*1 + n2*2 ... のようにする問題。

>>> def listplus(list):
...   y = z = 0
...   for x in list:
...     z = z + x * y
...     y += 1
...   return z
... 
>>> listplus([1,2,3,4])
20
(define	listplus
  (lambda (list)
    (cond
     ((null? list) 0)
     (#t
      (+ (* 2 (car list))
         (listplus
          (cdr list)))))))
 
(listplus '(1 2 3 4))
20

やっぱり再帰による繰り返しは、 ちょっと難しい。
python で再帰を書いてみようかとも考えたが、 次回思いついたときにする。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。