首页 > 代码库 > NYOJ题目65另一种阶乘问题
NYOJ题目65另一种阶乘问题
-------------------------------
水、
当然水题也要有缓存,缓存复用真是伟大的思想,膜拜提出此思想的不知道名字的神犇。
AC代码:
1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 7 Scanner sc=new Scanner(System.in); 8 9 int times=sc.nextInt();10 while(times-->0){11 int n=sc.nextInt();12 System.out.println(solve(n));13 }14 }15 16 private static long buffer[]=new long[21];17 18 public static long fac(int n){19 if(n/2*2==n) return 0;20 if(n==1) return 1;21 if(buffer[n]!=0) return buffer[n];22 return buffer[n]=fac(n-2)*n;23 }24 25 public static long solve(int n){26 long res=0;27 while(n>0) res+=n/2*2==n?fac(n---1):fac(n--);28 return res;29 }30 31 }
题目来源: http://acm.nyist.net/JudgeOnline/problem.php?pid=65
NYOJ题目65另一种阶乘问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。