PDA

View Full Version : سوال: اشکال در محاسبه سری



zsaraz
چهارشنبه 24 اردیبهشت 1393, 17:42 عصر
سلام دوستان.میدونم سوالم ابتداییه ولی اگه راهنماییم کنید ممنون میشم
میخوام برنامه ای بنویسم که این سری رو به ازای هر x و n دلخواه محاسبه کنه
!Sum=x/1!+x^2/2!+x^3/3!+…+x^n/n
کدی که نوشتم اینه ولی حاصلو اشتباه حساب می کنه. نمیدونم کجاشو اشتباه کردم...
{
;int x, n
;float sum=0
;float fact=1
;float Power = 1
;(x = int.Parse(textBox1.Text
;(n = int.Parse(textBox2.Text
(++for (int i = 1; i <= n; i
{

;Power *= x
(++for (int j = 1; j <=i; j
;fact *= j
;(sum += (Power / fact
}

;("MessageBox.Show("s="+sum,"seri


}

irartesh
چهارشنبه 24 اردیبهشت 1393, 18:11 عصر
int x, n;
double sum = 0;
double fact = 1;
double power = 1;
x = int.Parse("5");
n = int.Parse("2");

for (int i = 1; i <= n; i++)
{
power = Math.Pow(x, i);

for (int j = i; j <= 1; j--)
{
fact *= j;
}
sum += (power / fact);
power = 1;
fact = 1;
}

hadi46
چهارشنبه 24 اردیبهشت 1393, 18:39 عصر
با سلام
قبل از حلقه دوم عبارت fact=1; را قرار بده درست میشه

private void button2_Click(object sender, EventArgs e) {
int x, n;
float sum = 0;
float fact = 1;
float Power = 1;
x = 3;
n = 3;
for (int i = 1; i <= n; i++)
{


Power *= x;
fact = 1;
for (int j = 1; j <= i; j++)
fact *= j;
sum += (Power / fact);
}


MessageBox.Show("s=" + sum, "seri");
}

zsaraz
چهارشنبه 24 اردیبهشت 1393, 18:56 عصر
آره درست شد، واقعا ممنون :چشمک:
ولی چرا اینجوری میشه؟ مگه همون اول fact=1 رو تعریف نکردیم؟

rahnema1
چهارشنبه 24 اردیبهشت 1393, 21:30 عصر
این جور هم میشه حل کرد

double sum=0,m=1,x=4,n=5;
for(int i=1;i<=n;i++) sum+=(m*=x/i);
MessageBox.Show("s=" + sum, "seri");

aliagamon
پنج شنبه 25 اردیبهشت 1393, 17:36 عصر
آره درست شد، واقعا ممنون :چشمک:
ولی چرا اینجوری میشه؟ مگه همون اول fact=1 رو تعریف نکردیم؟
دلیلش اینه هر سری که حلقه 2 تموم میشه مقدار fact عوض میشه و وقتی حلقه اول وارد چرخش بعدی میشه مقدار fact برار 1 نیست اگه از اول تو حلقه اول تعریف میکردینش این مشکل پیش نمیومد