时间: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); } } }