public int fn(int n)
{
int sum = 0, m = 1;
for (int i = 1; i <= n; i++)
{
m = m * i;
sum += m;
}
return sum;
}
这是个简单的方法,并不完美,没有考虑大数乘和大数加,当n打到一定值时,会出现和超出计算机整数所能表示的范围。希望对你有帮助。
private int f(int i)
{
if (i == 1)
{
return 1;
}
else
{
return f(i - 1) + g(i);
}
}
private int g(int i)
{
if (i == 1)
{
return 1;
}
else
{
return g(i - 1) * i;
}
}
private void button1_Click(object sender, EventArgs e)
{
int n = Convert.ToInt32(textBox1.Text);
textBox2.Text = f(n).ToString();
}
main(){long i,j,x,num=0; for(i=1;i<=100;i++)
{x=1;
for(j=1;j<=i;j++)
x*=j; }
num+=x; }