// 題から複素数とはあまりにもおこがましいので、
// 相応しい構造体名、構造体メンバ名に変えました。
#include <stdio.h>
#include <math.h>
#define N (10000)
#define R (0.5)
struct pt {
double x,y;
pt(){};
pt(double a,double b) { x=a; y=b; };
double Len() { return sqrt(x*x+y*y); };
};
pt operator - (pt p0, pt p1) { return pt(p0.x-p1.x, p0.y-p1.y); }
int main(void) {
pt a[N+1];
int i;
double PI = 2*acos(0);
double sum = 0;
for (i=0 ; i<=N ; i++) a[i] = pt(R*sin(2*PI*i/N),R*cos(2*PI*i/N));
for (i=1 ; i<=N ; i++) sum += (a[i]-a[i-1]).Len();
printf("%f\n",sum);
return 0;
}