Вот вчера нашел довольно интересный код на языке C. Посмотрел на него, и вообще ничего не понял. Погуглил - как оказалось, никто не понял, как этот код работает:) Хотя вот общий механизм - в теле функции F_OO() содержится «рисованный» круг. А как мы знаем из геометрии, число π вычесляется по размеру круга. Вот и рассчитывается по этому кругу число π =/. И чем больше этот круг, тем точнее результат! Вот исходник - pi.c:
/* (c) Brian Westley, 1988 */ #define _ 0xF<00? --F<00||--F-OO--:-F<00||--F-OO--; int F=00,OO=00; main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO() { _-_-_-_ _-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_ _-_-_-_ }
[keed'0'@mandrivka ~]$ gcc -o pi pi.c
pi.c: In function ‘main’:
pi.c:4: warning: incompatible implicit declaration of built-in function 'printf'
[keed'0'@mandrivka ~]$ ./pi
3.141
[keed'0'@mandrivka ~]$
Как видим, он собирается и запускается нормально! Оно работает!
Мои познания языка C не велики, поэтому, если кто-то все-таки
разберет - напишите в комменты!
Мои познания языка C не велики, поэтому, если кто-то все-таки
разберет - напишите в комменты!