判斷一個數的階乘的末尾0的個數
思路
能產生0的質數組合只有2*5,然後問題就轉變成了對N!進行質數分解後,一共有幾個5,因為2的個數顯然多於5。比如計算25!的末尾0的個數,包含5的數有5,10,15,20,25,其中25中包含兩個5,所以一共包含6個5,25!的末尾有6個0.
Java程式碼
import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int count = 0, j; for (int i = 1; i <= n; i++) { j = i; while (j % 5 == 0) { count++; j = j / 5; } } System.out.println(count); } }
相關推薦
poj1401--Factorial--階乘末尾0的個數
cnblogs sin factorial int amp div factor color sum Description 求出n!的末尾有多少個0(連續的)。 每組測試點有t個測試數據,輸入格式為第一行一個t,後面2~t+1行每行一個n,輸出其結果。 Sampl
階乘末尾 0 的個數.c
// 階乘尾數零的個數 // 100!的末尾有多少個0? /* 問題分析和演算法設計: 首先分析在100!結果值的末尾產生0的條件。不難看出:一個整數 若含有一個因子5則必然會在求100!時產生一個0。因此問題轉化為 求1到100這100個整數中包含了多少個因子5。若整數N
求階乘末尾0的個數(java)
末尾0的個數 題目描述 輸入一個正整數,求n!末尾有多少個0?比如n = 10; n! = 3628800 ,所以答案為2 輸入描述 輸入為一行,n (1 <= n <= 1000)//輸入量範圍限制不能用先求階乘的方法,會產生溢位
計算階乘末尾0的個數
這個題目是程式設計之美上出現的,今年在幾個公司筆試的時候都出現了這個題目,之前一直以為 直接用 N / 5 就是結果,昨天被土豆麵試的時候,才發現自己理解錯了,思路是這樣的,0 的個數就是 1,,2,...,n中n個數中能夠分解出5的因子的個數。之前以為 5,10,2
滴滴2017校園招聘程式設計題——階乘末尾0的個數
1、題目如下圖所示: 2、分析: 這個題目描述的很簡單,思路看似也很清晰,我們第一想到的肯定就是正常計算和統計——先計算N!階乘的結果,然後統計結果末尾0的個數。看似這是一個很好的也很簡單的理想方
Java 演算法程式設計 N階乘末尾0的個數問題
求一數N的階層 就是 1*2*3...*n ,其實求這道題 就是求1到n 中一共可拆解出幾個5,因為2*5=10 ,有一個對5 和2 必然末尾有個0 ,又因為 5肯定比2少 ,所以就簡化成求5的
light oj 1138 - Trailing Zeroes (III)(階乘末尾0)
num stdio.h star adding 什麽 fin std sin each You task is to find minimal natural number N, so that N! contains exactly Q zeroes on the tra
XJOI 3416 階乘末尾0 題解
時間:1s 空間:256M 題目描述: 尋找一個最小的N,使得N!末尾恰好有Q個0 輸入格式: 輸入一個整數Q 輸出格式: 如果有解輸出一個整數N;否則輸出”impossible” 樣例輸入1: 2 樣例輸出1: 10
求一個數的階乘中0的個數
求一個數的階乘中0的個數 連續幾天產出為負,再不寫點東西沒法交代了。。。 public class The_number_of_0_in_FactorialN { public static void main(String[] args) { int n=5; Syst
求一個數階乘的後面連續0的個數
對於一個數n的階乘 n! ,計算其後面有幾個連續的零。 我們知道,10 = 2 * 5。每一個 2 與一個 5 相乘,結果就增加一個零。所以求 n! 後面的連續零的個數,其實就是求其中相乘的數含有因子每對因子 2 與 5 的個數。又因為從1到某個數,所含 2 的個
[LeetCode] Factorial Trailing Zeroes 求階乘末尾零的個數
Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in logarithmic time complexity. Credits:Special thanks to
[CareerCup] 17.3 Factorial Trailing Zeros 求階乘末尾零的個數
解法一: int trailing_zeros(int n) { int res = 0; while (n) { res += n / 5; n /= 5; } return res; } 解法二:
Factorial Trailing Zeroes(OJ) 求其階乘尾數0的個數[1808548329]
問題描述: Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in logarithmic time complexity. 問題
【LeetCode】Factorial Trailing Zeroes 階乘尾部0的個數
題目 Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in logarithmic time c
Factorial(階乘最後0的個數)
Factorial Time Limit: 1500MS Memory Limit: 65536K Total Submissions: 15475 Accepted: 9533 Description The most important part of
java 求n的階乘尾部0的個數
題目描述 求n的階乘尾部0的個數 樣例輸入 11 樣例輸出 2 java程式碼 import java.util.Scanner; import java.util.Arrays; p
n階乘後面0的個數+組合數學結果0的個數舉例+公式推導
先掛上一題,用作例子。 (n!%(10^k))==0. 已知n,求能使上式成立的k的最大值。 例如 5!= 120 有1個0,10!= 3628800 ,有2個0。 很明顯,階乘中所有數的因
計算N的階乘中0的個數
首先我們要知道0是怎麼來的 兩個個位數相乘只有2*5=10會出現一個0 所以我們只要找出因子2和5能匹配多少對 因為在N的階乘中因子為2的個數遠遠大於因子為5的個數 比如5!=120 是因為2*5 = 10能匹配出一對來而4還可以分成2*2所以2的數目遠遠大於5 所以下一
階乘演算法全集,階乘末尾非零位,階末尾零的個數
/階乘各演算法的 C++ 類實現#include <iostream>#include <cstring>#include <iomanip> #include <cmath> using namespace std; class Factorial {
N的階乘末尾有多少個0
log 多少 blog 計算 末尾 得出 因子 bsp 問題 題目:N的階乘末尾有多少個0 分析: 以100!為例,可以產生10的有:0 2 4 5 6 8 結尾的數字,顯然2是確定的,因為4、6、8當中都含有因子2,所以都可看當是2,那麽關鍵在於5的數量了那麽該問題的實質