private double expower() { int n = 10; double E = Math.E; double x = 2; double p1 = Math.Pow(E, x); double p2 = 1; for (int i = 1; i <= n; i++) { p2 += x / factorial(i); } return p2; } private long factorial(int n) { long n_factorial = 1; for (int i = 1; i <= n; i++) { n_factorial = n_factorial * i; } return n_factorial; }按你的算法算的,但结果不对,你再看看吧
谢谢!我那个是一个练习,我现在已经会写n!的计算了,但是不知怎么调用,现附上n!代码: using System; using System.Collections.Generic; using System.Text;namespace n { class Program { static void Main(string[] args) { int i, n, result=1; Console.Write("\n please enter n:"); n = Int32.Parse(Console.ReadLine()); i=1; while(i<=n) { result=result*i; i++; } Console.Write ("\n result is {0}.",result); Console.ReadLine(); } } }哪位大侠帮忙一下?谢谢先!
自己写算法可以这样,用两个简单的递归 int exp_e(int n) {//求e的x次方 if(n=0) { return 1; } else { return ((x_n(x,n)/n_jie(n)) + exp_e(n-1)); } } int x_n(int x,int n) {//x的n次方 int i,y=x; for(i=1;i<=n;i++) { y *= x } return y; } int n_jie(int n) {//求阶乘 if(n=1) { return 1; } else { return n*n_jie(n-1) } }
To:glacier111(★冰河★) ( ) 信誉:100 Blog 加为好友 p2 += x / factorial(i);===是不是x的i次方那个“i”没有表示出来?谢谢!
To outh24(马宁远) 大侠: 我是一个菜鸟,不知怎么将您的代码加到方案里面,女不能给一个完整的,可以运行的代码? 谢谢先!
private double expower() { int n = 10; double E = Math.E; double x = 2; double p1 = Math.Pow(E, x); double p2 = 1; for (int i = 1; i <= n; i++) { p2 += Math.Pow(x, i) / factorial(i); } return p2; } private long factorial(int n) { long n_factorial = 1; for (int i = 1; i <= n; i++) { n_factorial = n_factorial * i; } return n_factorial; }少了个x的i次方,不好意思
double x = 10; double n = 10; double result = 0; for (int i=1;i < n;i++) { //x的次方 double xSum = x; for (int j=1;j < i;j++) { xSum = xSum*x; } //n! double nSum = 1; for (int j=1;j < i;j++) { nSum = nSum*j; } result += xSum / nSum; } this.TextBox1.Text = Convert.ToString(result + 1);
System.Math.Exp
{
int n = 10;
double E = Math.E;
double x = 2;
double p1 = Math.Pow(E, x);
double p2 = 1;
for (int i = 1; i <= n; i++)
{
p2 += x / factorial(i);
}
return p2;
} private long factorial(int n)
{
long n_factorial = 1;
for (int i = 1; i <= n; i++)
{
n_factorial = n_factorial * i;
}
return n_factorial;
}按你的算法算的,但结果不对,你再看看吧
using System;
using System.Collections.Generic;
using System.Text;namespace n
{
class Program
{
static void Main(string[] args)
{
int i,
n,
result=1;
Console.Write("\n please enter n:");
n = Int32.Parse(Console.ReadLine());
i=1;
while(i<=n)
{
result=result*i;
i++;
}
Console.Write ("\n result is {0}.",result);
Console.ReadLine();
}
}
}哪位大侠帮忙一下?谢谢先!
int exp_e(int n)
{//求e的x次方
if(n=0)
{
return 1;
}
else
{
return ((x_n(x,n)/n_jie(n)) + exp_e(n-1));
}
}
int x_n(int x,int n)
{//x的n次方
int i,y=x;
for(i=1;i<=n;i++)
{
y *= x
}
return y;
}
int n_jie(int n)
{//求阶乘
if(n=1)
{
return 1;
}
else
{
return n*n_jie(n-1)
}
}
p2 += x / factorial(i);===是不是x的i次方那个“i”没有表示出来?谢谢!
我是一个菜鸟,不知怎么将您的代码加到方案里面,女不能给一个完整的,可以运行的代码?
谢谢先!
{
int n = 10;
double E = Math.E;
double x = 2;
double p1 = Math.Pow(E, x);
double p2 = 1;
for (int i = 1; i <= n; i++)
{
p2 += Math.Pow(x, i) / factorial(i);
}
return p2;
} private long factorial(int n)
{
long n_factorial = 1;
for (int i = 1; i <= n; i++)
{
n_factorial = n_factorial * i;
}
return n_factorial;
}少了个x的i次方,不好意思
double n = 10;
double result = 0; for (int i=1;i < n;i++)
{
//x的次方
double xSum = x;
for (int j=1;j < i;j++)
{
xSum = xSum*x;
} //n!
double nSum = 1;
for (int j=1;j < i;j++)
{
nSum = nSum*j;
} result += xSum / nSum;
} this.TextBox1.Text = Convert.ToString(result + 1);
---------------------------------------------
EMail:[email protected] 请给我一个与您交流的机会!