尾部所有的0都是由因子5*2得到的, 由于2.6.8 都可以视为因子2,所以因子2的个数远大于因子5的个数 所以只需要求出因子5的个数即可。 由于25,125这个数不止含有一个因子5,所以需要求完后递归调用n/5 以上。 import java.util.Scanner; public class Main{ public static void main(String[]args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println(trailingZeros(n)); } private static int trailingZeros(int n){ return n==0?0:n/5+trailingZeros(n/5); } }
import java.util.Scanner;
public class Test03 {
public static int getZero(int num){
return num==0?0:num/5+getZero(num/5);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
System.out.println(getZero(num));
}
}
#include <stdio.h>intnInNumber(intnumber, intn){intsum = 0;while(number%n==0){sum +=1;number /= n;}returnsum;}intmain(){intn, twoInSumN=0, fiveInSumN=0;scanf("%d", &n);if(n<=0)return-1;for(inti=1; i<=n; ++i){twoInSumN += nInNumber(i,2);fiveInSumN += nInNumber(i,5);}printf("%d", (twoInSumN>fiveInSumN) ? fiveInSumN : twoInSumN);return0;}
import java.math.BigInteger; import java.util.Scanner; public class Main{ public static void main(String []args) { Scanner sc = new Scanner(System.in); int n=sc.nextInt(); BigInteger result = new BigInteger("1"); for(int i=n;i>0;i--){ BigInteger num=new BigInteger(String.valueOf(i)); result=result.multiply(num); } StringBuffer sb=new StringBuffer(String.valueOf(result)); sb.reverse(); int count=0; while(sb.substring(count,sb.length()).startsWith("0")){ count++; } System.out.println(count); } }
#include <iostream> using namespace std; int main() { int n,cnt=0; cin>>n; while(n/=5) { cnt+=n; } cout<<cnt<<endl; return 0; }
#include <iostream>
using namespace std;
int slove(int n) {
int num = 1;
int res = 0;
while(n / num) {
num *= 5;
res += n / num;
}
return res;
}
int main()
{
int n;
cin >> n;
cout << slove(n) << endl;
return 0;
}
<?php
$num = trim(fgets(STDIN));
function exam($n){
$res = 0;
for($i=$n; $i>=5; $i--){
$tmp = $i;
while(($tmp%5) == 0){
$res++;
$tmp /= 5;
}
}
return $res;
}
//function shenqi($n){
// $res = 0;
// while($n){
// $res= $res + intval($n/5);
// $n = intval($n/5);
// }
// return $res;
//}
//echo shenqi($num);
echo exam($num);
#include<iostream> #include<algorithm> using namespace std; int main() { int n; while(cin>>n) { int sum = 0; while(n) { sum+=n/5; n/=5; } cout<<sum<<endl; } return 0; } //边摆摊边算出来的,求解放