DD4. 末尾0的个数
描述
输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2输入描述
输入为一行,n(1 ≤ n ≤ 1000)输出描述
输出一个整数,即题目所求示例1
输入:
10
输出:
2
Pascal 解法, 执行用时: 1ms, 内存消耗: 292KB, 提交时间: 2018-03-23
var n:longint; begin readln(n); writeln(n div 5+n div 25+n div 125+n div 625); end.
C 解法, 执行用时: 1ms, 内存消耗: 356KB, 提交时间: 2018-09-16
#include <stdio.h> int main() { int n; scanf("%d",&n); int cnt = 0; while(n>=5) { n=n/5; cnt+=n; } printf("%d\n",cnt); return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 372KB, 提交时间: 2020-11-27
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> int main() { int n; int sum=0; scanf("%d",&n); //int bai=n/100; sum=n/5+n/25+n/125+n/625; printf("%d",sum); return 0; }
C++14 解法, 执行用时: 1ms, 内存消耗: 384KB, 提交时间: 2020-08-06
#include <stdlib.h> #include <stdio.h> using namespace std; int main() { int n; scanf("%d",&n); //算法 int count = 0; while(n){ count += n/5; n /= 5; } printf("%d",count); return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 476KB, 提交时间: 2018-08-24
#include <stdio.h> int main() { int n; scanf("%d",&n); int cnt = 0; do{ n/=5; cnt+=n; }while(n); printf("%d\n",cnt); return 0; }