蓝桥杯双阶乘解答
题目代码import java.math.BigInteger;import java.util.Scanner;// 1:无需package// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);//在此输入您的代码...BigInteger countnew BigInteger(1);for(long i1;i1010;i){BigInteger termnew BigInteger(String.valueOf((2L*i1)));count count.multiply(term);}String Scount;char[] chS.toCharArray();//把字符串转化为字符数组;/* System.out.print(ch[ch.length-5]);//最后输出结果System.out.print(ch[ch.length-4]);System.out.print(ch[ch.length-3]);System.out.print(ch[ch.length-2]);System.out.print(ch[ch.length-1]);*/System.out.println(59375);scan.close();}}对题目的理解我们可以注意到我们要计算的是2021的双阶乘也就是从1到2021的所有奇数的计算。但我们要注意到这是一个很大很大很大的数。所以我们要用java中的大数类来解答这个个问题。且奇数的计算我是通过2*i1来算的这样就不用计算其他的了java中大数类的应用导入方法:import java.math.BigInteger;使用方法计算方法BigDecimal的用法声明方法import java.math.BigDecimal;import java.math.RoundingMode; // 除法舍入模式需要创建方法计算方法舍入方式