n的阶乘
涉及阶乘的都会产生大的数据,此时要变成long或者实在很大要使用BigInteger
题目描述
输入一个整数n,输出n的阶乘
输入描述:
一个整数n(1<=n<=20)
输出描述:
n的阶乘
输入例子:
3
输出例子:
6
首先使用long解决本题:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); while(in.hasNext()){ int num=in.nextInt(); long jc=num; while(num>1){ jc=jc*(num-1); num--; } System.out.println(jc); } in.close(); } }
然后使用BigInteger解决本题:
import java.math.BigInteger; import java.util.Scanner; public class n的阶乘 { public static void main(String[] args) { Scanner in=new Scanner(System.in); while(in.hasNext()){ int num=in.nextInt(); BigInteger jc=new BigInteger(num+""); while(num>1){ jc=jc.multiply(new BigInteger((num-1)+"")); num--; } System.out.println(jc); } in.close(); } }
完成。
唯一的遗憾就是我的心情有点差,也许还需努力。
心有猛虎,细嗅蔷薇 转载请注明:https://www.cnblogs.com/ygh1229/