算法 BISHI59 阶乘末尾非零数字 思路 求解代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StreamTokenizer in = new StreamTokenizer(br); PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out)); in.nextToken(); int n = (int)in.nval; out.println(find(n)); out.flush(); out.close(); br.close(); } private static int find(int n) { int n2 = 0, n5 = 0; int p = 1; for(int i=2;i<=n;i++){ int tmp = i; while (tmp%5==0) { n5++; tmp/=5; } while (tmp%2==0) { n2++; tmp/=2; } p=(p*tmp)%10; } for(int i=0;i<n2-n5;i++){ p=(p*2)%10; } return p; }