很简单的算法哈:你这个4 = 1 * 2 * 3 * 4 = 24 这个不叫阶乘噢,不过实现很简单代码还是自己动手吧,对你有好处
2:
public class Factorial {
@SuppressWarnings("resource")
public static void main(String[] args) {
Scanner k = new Scanner(System.in);
int ride = 1, i = 1;
System.out.println("请输入一个正整数:");
int number = k.nextInt();
if (number > 0) { // 输入为正整数执行循环操作
System.out.print(number + "! = 1"); // 拼接显示阶乘过程
for (i = 1; i <= number; i++) {
if (i == 1) { // i==1时,不打印1
continue;
}else{
System.out.print(" * " + i);
}
ride*= i;
}
System.out.println("=" + ride);
}else{
System.out.println("输入错误!");
}
}
}
实现原理:实际上阶乘就是从1开始依次乘以2,乘以3,直到阶乘的数
int result;
for(int i=1;i<=4;i++)
{
result*=i;//依次从1开始,之后相乘到最大的数
}
结果就是:1*2*3*4 = 24.
用递归算法就可以搞定了哦!
public int factorial(int n) {
if(n == 0 || n == 1) { //当n是0或者1的时候,阶乘结果就是0
return 1;
}
else { //当 n 大于0 的时候,阶乘的结果就是 n*(n-1)*(n-2)* 。。。。
return n* factorial(n-1);
}
}
帮到你了别忘了采纳