首页 > 编程知识 正文

riscv汇编语言阶乘计算,二分之一阶乘计算

时间:2023-05-05 08:11:04 阅读:276698 作者:2443

蓝桥杯学习记录

思路
1.计算阶乘,首先要明白阶乘的计算式:
如果num=1或者num=0 阶乘的结果都是1
否则f(n)=f (i-1 ) 乘 i

2.注意数据的规模选择适合的存储结构,阶乘的结果很大,我们这里用到了math包里面的BigInteger

public class JieChen3 {public static void main(String[] args) {// TODO 自动生成的方法存根 //用BigInteger类型的数组来存放阶乘的结果,因为阶乘的结果很大,27的结果就超出了long long类型的最大存放范围BigInteger f[]= new BigInteger[5050];//0 和1的阶乘都是1用BigInteger的静态常量BigInteger.ONE来表示1f[0]=f[1]=BigInteger.ONE;//阶乘的递归式for(int i = 2 ;i < 5000;i++ ) {f[i]=f[i-1].multiply(BigInteger.valueOf(i));}Scanner cin = new Scanner(System.in);while(cin.hasNext()) {int m = cin.nextInt();System.out.println(f[m]);}cin.close();}}

测试结果

思考
1.在做算法题的时候一定要考虑到数据的规模,数据的规模太大,有可能会导致算法的部分测试用例不能通过,这也就是数据类型决定的

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。