double Myexp(double x)
{
double total = 1.0; //級数和
double a = 1.0; //各項
int mac = 20; //マクローリン回数
for (int i = 1; i < mac; i++)
{
a = a * (x / i); //前の項に(x/i)をかければ次の項になる
total += a; //現在の項を級数和として加える
}
return total;
}
double Mylog(double x)
{
if (x <= 0.0) { return 0; } //入力が0以下なら関数未定義なので0
double total = 0.0; //級数和
double a = 1.0; //分子(x-1)^nを保存
int mac = 20; //マクローリン回数
for (int i = 1; i < mac; i++)
{
a = a * (x - 1.0); //各項の分子部分を計算
/* 奇数項のとき(+) */
if (i % 2 == 1)
total += a / i;
/* 偶数項のとき(-) */
else
total -= a / i;
}
return total;
}
α=z^n=x^n+y^n,β=(1/n)log(α)=(1/n)log(x^n+y^n)