Вычисление числа π - одно из любимых развлечений математиков. Имеется множество методов его вычисления. Есть очень эффективные и сложные, есть более простые и короткие.
Рекорд краткости принадлежит, по всей видимости следующей программе (160 символов):
int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c;)f[b++]=a/5; for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a) for(b=c;d+=f[b]*a, f[b]=d%--g,d/=g--,--b;d*=b);}
В таком виде программу читать неудобно, перепишем её в более удобном виде:
int a=10000, b, c=2800, d, e, f[2801], g; main(){ for(;b-c;)f[b++]=a/5; //заполняет массив значением a/5 = 2000 for(; // начальных значений нет d=0,g=c*2; // условие выполнения цикла: с!=0 c-=14,printf("%.4d",e+d/a),e=d%a ) for(b=c; d+=f[b]*a, f[b]=d%--g,d/=g--,--b; d*=b); }После работы эта программа выдает ответ (800 цифр):
3141592653589793238462643383279502884197169399375105820974944592307816406286208 9986280348253421170679821480865132823066470938446095505822317253594081284811174 5028410270193852110555964462294895493038196442881097566593344612847564823378678 3165271201909145648566923460348610454326648213393607260249141273724587006606315 5881748815209209628292540917153643678925903600113305305488204665213841469519415 1160943305727036575959195309218611738193261179310511854807446237996274956735188 5752724891227938183011949129833673362440656643086021394946395224737190702179860 9437027705392171762931767523846748184676694051320005681271452635608277857713427 5778960917363717872146844090122495343014654958537105079227968925892354201995611 2129021960864034418159813629774771309960518707211349999998372978049951059731732 8160963185Точное значение числа π при равно:
3.141592653589793238462643383279502884197169399375105820974944592307816406286208 9986280348253421170679821480865132823066470938446095505822317253594081284811174 5028410270193852110555964462294895493038196442881097566593344612847564823378678 3165271201909145648566923460348610454326648213393607260249141273724587006606315 5881748815209209628292540917153643678925903600113305305488204665213841469519415 1160943305727036575959195309218611738193261179310511854807446237996274956735188 5752724891227938183011949129833673362440656643086021394946395224737190702179860 9437027705392171762931767523846748184676694051320005681271452635608277857713427 5778960917363717872146844090122495343014654958537105079227968925892354201995611 2129021960864034418159813629774771309960518707211349999998372978049951059731732 8160963185950244594553469083026425223082533446850352619311881710100031378387528то есть все полученные цифры являются верными.
Истоки программы уходят в глубокую древность, неизвестно точно, кто её автор. Некоторые исследователи приписывают её авторство знаменитому Ходже Насреддину, другие - Дику Т.Винтеру. Интересующиеся могут уточнить этот вопрос у специалистов-профессионалов, например, на историческом факультете ИвГУ.