考研机试 17.n的阶乘

时间:2021/03/03

一.题目描述

输入一个整数n,输出n的阶乘(每组测试用例可能包含多组数据,请注意处理)

输入描述

一个整数n(1<=n<=20)

输出描述

n的阶乘

题目链接

https://www.nowcoder.com/practice/97be22ee50b14cccad2787998ca628c8?

tpId=40&tqId=21348&rp=1&ru=%2Fta%2Fkaoyan&qru=%2Fta%2Fkaoyan%2Fquestion-ranking&tab=answerKey

二.算法

题解

一个典型的递归问题,最好将递归改成for循环的形式。要注意最后的结果要用long类型保存,否则可能溢出。

代码

import java.util.Scanner;

public class Main{
    
    public static void main(String[] args){
        
        Scanner in = new Scanner(System.in);
        
        while(in.hasNext()){
            int a = in.nextInt();
            long count = 1;
            
            for(int i = 1; i <= a; i++){
                count *= i;
            }
            
            System.out.println(count);
        }
    }
}
原文地址:https://www.cnblogs.com/machi12/p/14474530.html