分别用while嵌套for循环、for循环嵌套while 循环,实现1到10阶乘的累加和
时间: 2024-10-06 19:04:53 浏览: 36
在C#中,我们可以分别使用while嵌套for循环和for循环嵌套while循环来计算1到10的阶乘之和。这里我们先解释一下基本思路:首先,我们需要计算每个数字的阶乘,然后将它们累加起来。
**While嵌套For循环:**
```csharp
int sum = 0;
int factorial = 1;
int i = 1;
while (i <= 10)
{
while (factorial <= 10) // 或者可以用 "if (factorial <= i)" 替代,因为阶乘不会超过当前的整数
{
sum += factorial;
factorial++;
}
i++;
}
// 输出结果
Console.WriteLine("1到10阶乘的累加和为:" + sum);
```
**For循环嵌套While循环:**
```csharp
int sum = 0;
int factorial = 1;
for (int i = 1; i <= 10; i++) // 遍历1到10
{
int tempFactorial = factorial;
while (tempFactorial <= i) // 计算阶乘
{
factorial *= i;
tempFactorial *= i; // 临时存储以便比较,防止因子溢出
}
sum += factorial;
factorial = tempFactorial; // 为了下次迭代,恢复原阶乘值
}
// 输出结果
Console.WriteLine("1到10阶乘的累加和为:" + sum);
```
在这两个版本中,最后都会输出1到10阶乘的累加和。
阅读全文