とする.設問は,好きな自然数nをひとつ決めよ.関数g(n)の値をこの設問の得点とするというものだった.ヒントとして とワンライナーで解いている.問題文に合わせるためにスクリプト中のfをgに置き換えると $ ruby -e '(0..13).each{|n|puts "g(#{n})=#{3*(((1..7).map{|k| k**n}.inject(0){|s,i|s+i})%7)}"}'である.これはSchemeで素直に書いても (use srfi-1) (define (f n) (remainder n 7)) (define (g n) (* 3 (f (fold (lambda (k a) (+ a (expt k n))) 0 (iota 7 1))))) (print (map g (iota 13 1)))とそれほど複雑にはならない.だがこれをPascalで書くとこの長さに