前言: n的阶乘在我们入门一门新的编程语言时,是一道不错的练习题。
下面我会分别从Python语言和Java语言去对n的阶乘进行一个简单的实现,考虑不周之处敬请见谅,希望对初学者有所帮助。
解题思路:
1、阶乘的公式:n!=n*(n-1)*(n-2)…*2 *1
或者是1 * 2 * 3 *… * n
2、将公式转换成计算机能识别的思路,n的阶乘无非就是从1乘到n,那么我们可以利用一个for循环,将一个数循环到我们需要的n,再设置一个数让他在循环体内,不断的乘以上一个数,最后乘到n,输出结果!
下面是两种语言的实现
一、【Python篇】
1、代码
# 接收用户输入的数值
num = int(input("请输入任意一个数:"))
# 创建一个变量,用来存储运算后结果
n = 1
# for循环,让一个数循环相乘,直到乘到我们输入的那个数num就停止
for i in range(1, num+1):
# 对应阶乘的公式,10!=10*9*8*7*6*5*4*3*2*1
n *= i
# 打印出最后的运算结果
print("%d的阶乘为:%d" %(num,n))
2、结果
二、【Java篇】
1、代码
import java.util.Scanner;
public class Factorial {
public static void main(String[] args){
// 创建扫描器对象用来接收键盘的输入
Scanner scanner = new Scanner(System.in);
// 提示用户输入
System.out.print("请输入一个数:");
// 创建一个变量n,用来接收用户输入的数值
int n = scanner.nextInt();
// 创建一个变量num,用来接收阶乘后数值
int num = 1;
// for循环,让一个数循环相乘,直到乘到我们输入的那个数n就停止
for (int i = 1; i < n; i++){
// 这里对应n的阶乘公式,10!=10*9*8*7*6*5*4*3*2*1
num = num * i;
}
// 程序结束,打印出最终的结果
System.out.printf("%d的阶乘为:%d",n,num);
}
}
2、结果
写在后面的话: n的阶乘还有很多思路可以实现,作者较菜只想到这种