51nod 1003 階乘後面0的數量
n的階乘後面有多少個0?
6的階乘 = 1*2*3*4*5*6 = 720,720後面有1個0。
Input
一個數N(1 <= N <= 10^9)
Output
輸出0的數量
Input示例
5
Output示例
1
題解:一個數n的階乘後有多少個0取決於從1到n中2和5的個數,而2的個數遠遠多於5的個數,只要求出5的個數即可。
可以通過不斷除以5直到為0來求5的個數,這樣每隔5個數有一個5,每隔25額外多一個5.
#include <iostream> using namespace std; int main() { int n; cin>>n; int temp=n/5,sum=0; while(temp) { sum+=temp; temp/=5; } cout<<sum; }
相關推薦
51Nod 1003 階乘後面0的數量 | 思維
efi blog png ima mage amp pre strong main 題意:n的階乘後面0的個數,如果直接算出階乘再數0的數量一定會超時的。 因為10=2*5,所以求出5貢獻的次數就行。 #include "bits/stdc++.h" usi
51nod 1003 階乘後面0的數量
n的階乘後面有多少個0? 6的階乘 = 1*2*3*4*5*6 = 720,720後面有1個0。 Input 一個數N(1 <= N <= 10^9) Output 輸出0的數量 Input示例 5 Output示例 1 題解:一個數n的階乘後
1003 階乘後面0的數量(51nod) 解題報告
基準時間限制:1 秒 空間限制:131072 KB 分值: 5 難度:1級演算法題 收藏 關注 n的階乘後面有多少個0? 6的階乘 = 1*2*3*4*5*6 = 720,720後面有1
階乘後面0的數量
isp ios std cout ret view lose include 分享 #include <bits/stdc++.h> #define _xx ios_base::sync_with_stdio(0);cin.tie(0); using nam
n階乘後面0的個數+組合數學結果0的個數舉例+公式推導
先掛上一題,用作例子。 (n!%(10^k))==0. 已知n,求能使上式成立的k的最大值。 例如 5!= 120 有1個0,10!= 3628800 ,有2個0。 很明顯,階乘中所有數的因
51nod1003階乘後邊0的數量
題目描述 連結戳這裡 解法: 《程式設計之美》書裡有講 N!能產生0的質數組合只能是2 * 5,也就是說當對N!進行質數分解之後 N!末尾 0 的個數取決於從 1 到 n 的各個數的因子中 2 和 5 的個數的較小的那個,但又因為能被2整除的數出現的頻率比能被5整除
100!(100的階乘)後面有幾個0問題
如100!後面有幾個0? 解: 只有2和5組合才可以得到一個末尾的0,能分解成2的有很多,如2,4,6,8都可以分解出2。 但是能分解出5的就比較少,如5,10,15,20,25。。。。,所以能分解出多少個5,末尾就有多少個0。 也就是說100中5的倍數有100/5=20個
poj1401--Factorial--階乘末尾0的個數
cnblogs sin factorial int amp div factor color sum Description 求出n!的末尾有多少個0(連續的)。 每組測試點有t個測試數據,輸入格式為第一行一個t,後面2~t+1行每行一個n,輸出其結果。 Sampl
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
求一個數的階乘中0的個數
求一個數的階乘中0的個數 連續幾天產出為負,再不寫點東西沒法交代了。。。 public class The_number_of_0_in_FactorialN { public static void main(String[] args) { int n=5; Syst
階乘末尾 0 的個數.c
// 階乘尾數零的個數 // 100!的末尾有多少個0? /* 問題分析和演算法設計: 首先分析在100!結果值的末尾產生0的條件。不難看出:一個整數 若含有一個因子5則必然會在求100!時產生一個0。因此問題轉化為 求1到100這100個整數中包含了多少個因子5。若整數N
javaSE (三十四)File類和遞迴練習(統計資料夾大小、拷貝資料夾、層級列印資料夾、斐波拉契數列、獲取1000階乘全部0和尾部0數目、約瑟夫環)
1、統計資料夾大小: 思路: 套用之前已經做過的,鍵入一個路徑,若有效則封裝成File類 初始化計數器len, 若資料夾下是檔案,則記錄檔案.length() 若資料夾下是資料夾,遞迴 輸出len 注:遞迴也可以刪除資料夾,但是一定要先刪除裡
求階乘末尾0的個數(java)
末尾0的個數 題目描述 輸入一個正整數,求n!末尾有多少個0?比如n = 10; n! = 3628800 ,所以答案為2 輸入描述 輸入為一行,n (1 <= n <= 1000)//輸入量範圍限制不能用先求階乘的方法,會產生溢位
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
XJOI 3416 階乘末尾0 題解
時間:1s 空間:256M 題目描述: 尋找一個最小的N,使得N!末尾恰好有Q個0 輸入格式: 輸入一個整數Q 輸出格式: 如果有解輸出一個整數N;否則輸出”impossible” 樣例輸入1: 2 樣例輸出1: 10
計算N的階乘中0的個數
首先我們要知道0是怎麼來的 兩個個位數相乘只有2*5=10會出現一個0 所以我們只要找出因子2和5能匹配多少對 因為在N的階乘中因子為2的個數遠遠大於因子為5的個數 比如5!=120 是因為2*5 = 10能匹配出一對來而4還可以分成2*2所以2的數目遠遠大於5 所以下一
計算階乘末尾0的個數
這個題目是程式設計之美上出現的,今年在幾個公司筆試的時候都出現了這個題目,之前一直以為 直接用 N / 5 就是結果,昨天被土豆麵試的時候,才發現自己理解錯了,思路是這樣的,0 的個數就是 1,,2,...,n中n個數中能夠分解出5的因子的個數。之前以為 5,10,2