c#使用while求1+2+3+4+....n!的和
时间: 2024-10-10 08:05:44 浏览: 57
用while循环语句来计算1+1/2+2/3+3/4+...+99/100之和
在C#中,可以使用while循环和递归来计算1到n的阶乘之和。这里是一个简单的示例:
```csharp
using System;
class SumOfFactorialSeries
{
static int factorial(int n)
{
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
static long sumOfFactorialsToN(int n)
{
int currentSum = 0; // 初始化当前和为0
int i = 1;
while (i <= n)
{
currentSum += factorial(i); // 求出阶乘并加到总和上
i++;
}
return currentSum;
}
public static void Main()
{
Console.Write("Enter a positive integer: ");
int n = Convert.ToInt32(Console.ReadLine());
long result = sumOfFactorialsToN(n);
Console.WriteLine($"The sum of factorials from 1 to {n} is: {result}");
}
}
```
在这个程序中,`factorial`函数用于计算阶乘,`sumOfFactorialsToN`函数则使用while循环累加每个数的阶乘。当你运行这个程序并输入一个正整数n,它将输出从1到n所有整数的阶乘和。
阅读全文