// use 2nd one // calculate circumference of an ellipse #include \"iostream\" using namespace std; #define _USE_MATH_DEFINES #include \"cmath\" const int LIMIT = 10; // items number double circumference(double semimajor, double semiminor); int main() { double res; res = circumference(1, 2); cout << \"The circumference is: \" << res << endl; } { double e; if(semimajor >= semiminor) { e = sqrt(1 - pow(semiminor / semimajor, 2)); } else { e = sqrt(1 - pow(semimajor / semiminor, 2)); } double l_deno, l_numa, pe, r_deno, mo, ne; for(int j = 1; j < LIMIT; ++j) { for(i = 1, l_deno = l_numa = mo = 1, ne = 2; i < j + 1; ++i, mo += 2, ne += 2) { l_numa *= mo; l_deno *= ne; } pe = pow(e, 2 * j);
item[j - 1] = l_numa * l_numa * pe /(l_deno * l_deno * r_deno); }
double tmp = 0.0; for(int k = 0; k < LIMIT - 1; ++k) { tmp += item[k]; } double l = 2 * M_PI * semimajor * (1 - tmp); } |