Método de Arquímedes doblando el número
de lados k veces
k | lados | valor de ![]() |
valor de ![]() |
0 | 6 | 3.0000000000000000 | 3.4641016151377546 |
1 | 12 | 3.1058285412302492 | 3.2153903091734725 |
2 | 24 | 3.1326286132812382 | 3.1596599420975005 |
3 | 48 | 3.1393502030468671 | 3.1460862151314350 |
4 | 96 | 3.1410319508905096 | 3.1427145996453683 |
5 | 192 | 3.1414524722854620 | 3.1418730499798238 |
6 | 384 | 3.1415576079118575 | 3.1416627470568485 |
7 | 768 | 3.1415838921483183 | 3.1416101766046894 |
8 | 1.536 | 3.1415904632280500 | 3.1415970343215261 |
9 | 3.072 | 3.1415921059992714 | 3.1415937487713519 |
10 | 6.144 | 3.1415925166921574 | 3.1415929273850969 |
11 | 12.288 | 3.1415926193653840 | 3.1415927220386137 |
12 | 24.576 | 3.1415926450336908 | 3.1415926707019980 |
13 | 49.152 | 3.1415926514507675 | 3.1415926578678444 |
14 | 98.304 | 3.1415926530550367 | 3.1415926546593059 |
15 | 196.608 | 3.1415926534561041 | 3.1415926538571713 |
16 | 393.216 | 3.1415926535563710 | 3.1415926536566377 |
17 | 786.432 | 3.1415926535814378 | 3.1415926536065044 |
18 | 1.572.864 | 3.1415926535877044 | 3.1415926535939711 |
19 | 3.145.728 | 3.1415926535892710 | 3.1415926535908377 |
20 | 6.291.456 | 3.1415926535896625 | 3.1415926535900544 |
Aquí tienes el programa con el que realicé el cálculo.
O si lo prefieres puedes acceder a la
versión javascript y calcularlo tu mismo
/********************************************************************/
/**
Cálculo del número pi mediante el método de Arquímedes
**/
/**
Autor: JM Soft Marzo 2002
**/
/********************************************************************/
#include <stdio.h>
#include <math.h>
main()
{
long double i[23]; //Para polígonos inscritos de 6*2^a lados
long double c[23]; //Para polígonos circunscritos de 6*2^a lados
int a;
i[0]=3.0;
//Razón entre hexágono inscrito y diámetro
c[0]=2.0*sqrt(3.0); //Razón entre hexágono circunscrito y diámetro.
printf("%3d %.16Lf
%.16Lf \n",0,i[0],c[0]);
for (a=1; a<23; a++)
{
c[a]=2.0*i[a-1]*c[a-1]/(i[a-1]+c[a-1]);
i[a]=sqrt(i[a-1]*c[a]);
printf("%3d
%.16Lf %.16Lf \n",a,i[a],c[a]);
}
return 0;
}