#include<iostream>
#include<cmath>
int JC(int y);
double scn(double x);
using namespace std;
const double TINY_VALUE = 1e-10;
main()
{
double r,s;
double k;
cout<<"請輸入r或s"<<endl;
cin>>r;
cin>>s;
if(r*r<=s*s)
{
k=sqrt(scn(r)*scn(r)+scn(s)*scn(s));
}
else
{
k=(1/2.0)*scn(r*s);
}
cout<<"結果等于="<<k<<endl;
return 0;
}
/*double scn(double x)
{
double g = 0;
double t = x;
int n = 1;
do {
g += t;
n++;
t = -t * x * x / (2 * n - 1) / (2 * n - 2);
} while (fabs(t) >= TINY_VALUE);
return g;
}*/
int JC(int y)
{
int n;
n=y;
if(n!=1)
n=n*JC(n-1);
else
return 1;
return n;
}
double scn(double x)
{
double v = 0;//回傳值
int fm = 1;//分母
int o = 1;
int g;
double e=x;
do
{
g=e/o;
if(fm%4==1)
v=v+g;
else
{
v=v-g;
}
e=e*(x*x);
fm=(fm+2);
o=JC(fm);
}while(fabs(g)>=TINY_VALUE);
return v;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/97337.html
標籤:C++ 語言
上一篇:資料結構BF演算法疑問
下一篇:資料結構C語言關于堆疊和佇列
