← All posts tagged functional_programming

teferi
Perl Python functional_programming Изучали функциональные возможности перла и питона. Задача — посчитать \sum_{x=i}^n f(g(x)). Пользоваться при вычислении суммы императивщиной запрещалось.
Решение для пайтон — всё нашлось из коробки =)
$ cat tst.py
#!/usr/bin/python

X = range(1,11)
i,n = 5,9
print reduce(lambda x,y: x+y, map(lambda x: 1./x, map(lambda x: x**2, X[i:n+1])))
Решение для перл — к сожалению пришлось ставить Language::Functional ради foldl

$ cat tst.pl
#!/usr/bin/perl -w

use Language::Functional ':all';
use strict;

my @arr = 1..10;
my ($i, $n) = (5,9);

print my $x = foldl1 {shift() + shift()} [map {1/$_} (map {$_**2} @arr[$i..$n])];

Результаты работы:
$ python tst.py
0.0861566200554
$ perl -l tst.pl
0.0861566200554296