用do-while循环计算n的阶乘
时间: 2023-05-26 19:01:57 浏览: 163
以下是用do-while循环计算n的阶乘的示例代码(Java语言):
```
import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a non-negative integer: ");
int n = scanner.nextInt();
int i = 1;
long result = 1;
do {
result *= i;
i++;
} while (i <= n);
System.out.println(n + "! = " + result);
}
}
```
用法说明:
1. 代码首先要求用户输入一个非负整数n,即要求计算n的阶乘。
2. 初始化一个计数器变量i为1,以及一个结果变量result为1。
3. 使用do-while循环来迭代计算阶乘的值。每次循环中,乘以当前计数器变量i的值,并将计数器变量i加1。
4. 循环迭代直至计数器变量i的值大于n。
5. 输出计算结果。
注意事项:
1. 当输入的n值比较大时(如n=20、30、50等),计算n的阶乘会溢出long类型的范围,导致结果不准确。此时应该考虑使用高精度计算或其他算法。
2. 循环体中应该使用long类型的变量来保存结果,以避免因结果过大而产生的溢出问题。
阅读全文