LINUX.ORG.RU

История изменений

Исправление AIv, (текущая версия) :

Ну если Вы так просите;-)

tmp$ make -f fib.mk
g++ -o fib -Wall -g fib.cpp
tmp$ cat fib.mk
fib: fib.cpp fib.arr
        g++ -o fib -Wall -g fib.cpp

fib.arr:
        python -c "print str(reduce(lambda L, x: L+[L[-2]+L[-1]], range(45), [1, 1]))[1:-1]" > $@
tmp$ cat fib.cpp
#include <iostream>

long fib[] = {
#include "fib.arr"
};

int main(){
        for(int i=0; i<45; i++) std::cout<<fib[i]<<std::endl;
}

Конечно тут помногословней лиспа получилось, да.

Исходная версия AIv, :

Ну если Вы так просите;-)

tmp$ make -f fib.mk
g++ -o fib -Wall -g fib.cpp
aiv@aivbook:~/tmp$ cat fib.mk
fib: fib.cpp fib.arr
        g++ -o fib -Wall -g fib.cpp

fib.arr:
        python -c "print str(reduce(lambda L, x: L+[L[-2]+L[-1]], range(45), [1, 1]))[1:-1]" > $@
tmp$ cat fib.cpp
#include <iostream>

long fib[] = {
#include "fib.arr"
};

int main(){
        for(int i=0; i<45; i++) std::cout<<fib[i]<<std::endl;
}