<span style="font-size:18px;">学习笔记,根据输入值N,打印出N的阶乘,分别按照递归和非递归方法实现
public class N{
public static void main(String args[])
{
Scanner n = new Scanner(System.in);
System.out.print("n的阶乘:");
long num = n.nextLong();//获取输入值
//非递归调用
// System.out.println(getN(num));
//递归方法调用
for(int i=1;i<=num;i++){
System.out.println(getN2(i));
}
System.out.println(getN2(num));
}
//非递归方法 循环判断
private static long getN(long num)
{
if(num == 0 || num == 1){
return 1;
}else{
int sum = 1;
for(int i=1;i<=num;i++){
sum = sum * i;
}
return sum;
}
}
//递归方法
private static long getN2(long num)
{
if(num == 0 || num == 1){
return 1;
}else{
return getN2(num-1)*num;
}
}
}</span>
<span style="font-size:18px;">
如果需要每个阶乘都打印,则在循环的时候就可以打印出来 </span>