import java.util.Scanner;
public class text {
public static void main(String[] args) {
//输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2
Scanner fac = new Scanner(System.in);
System.out.println("从键盘上输入数字:");
int f = fac.nextInt();
fac(f);
}
public static void count(int fac){
int count = 0;
while(fac != 0){
if(fac % 10 == 0){
count++;
}else{
break;
}
fac /= 10;
}
System.out.println("该阶乘零的个数有:" + count);
}
public static void fac(int f){
int fac = 1;
for(int i = 1; i <= f;i++){
fac *= i;
}
System.out.println(f + "的阶乘为:" + fac);
count(fac);
} import java.util.Scanner;
public class 末尾0的个数{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int num = sc.nextInt();
System.out.println(countZeroOfNum(num));
}
sc.close();
}
/*
尾部所有的0都是由因子5*2得到的,
由于2、6、8 都可以视为因子2,则 因子2的个数远大于因子5的个数,
所以只需要求出因子5的个数即可。
* */
public static int countZeroOfNum(int num){
int zeroCount = 0;
while(num > 4){
int temp = num;
//由于25,125这个数不止含有一个因子5,所以需要求完后,再调用n/5
while(temp % 5 == 0){
zeroCount++;
temp = temp / 5;
}
num = num-1;
}
return zeroCount;
}
} import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int zeros=0;
for(int i=n;i>0;i--)
{
int m=i;
while (m%5==0)
{
zeros++;
m=m/5;
}
}
System.out.println(zeros);
}
}
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));
}
}
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner scan=new Scanner(System.in);
int n=scan.nextInt();
int count=0;
for(int i=1;i<=n;i++){
int tem=i;
while(0==(tem%5)){
count++;
tem=tem/5;
}
}
System.out.println(count);
}
}
用递归写的import java.util.Scanner;
import java.math.BigInteger;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
BigInteger n=new BigInteger(sc.next());
StringBuffer sb=new StringBuffer(factorial(n).toString(10));
String regex="[^0]";
String[] strs=sb.reverse().toString().split(regex);
if(strs.length==0) {
System.out.println("0");
}else {
System.out.println(strs[0].length());
}
}
private static BigInteger factorial(BigInteger n) {
if(n.intValue()==1) {
return n;
}else {
return n.multiply(factorial(new BigInteger(String.valueOf((n.intValue()-1)))));
}
}
}
BigInteger是个好东东,哈哈哈
哇哇,学习!评论区多大神
import java.util.*;
public class Main { /** * @param args */ public static void main(String[] args){ Scanner input = new Scanner(System.in);
int num = input.nextInt();
int count=0;
int tempnum=0;
for(int i=1;i<=num;i++){
tempnum=i;
while(tempnum%5==0){
count++;
tempnum=tempnum/5;
}
}
System.out.println(count);
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(scanner.hasNextInt()){
int num = scanner.nextInt();
int result = 0;
for(int i = 1;i <= num;i++){
int temp = i;
while(temp%10 == 0 && temp != 0){
result++;
temp /= 10;
}
while(temp%5 == 0 && temp != 0){
result++;
temp /= 5;
}
}
System.out.println(result);
}
}
}
import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int n = Integer.parseInt(scanner.nextLine()); // long result = 1; // for (int i = 1; i <= n; i++) { // result *= i; // System.out.println(result); // } // String string = String.valueOf(result); // System.out.println(string); // int count = 0; // for (int i = string.length() - 1; i >= 0; i--) { // if (string.charAt(i) == '0') { // count++; // } else { // break; // } // } // System.out.println(count); int count=0; while(n/5!=0){ n=n/5; count+=n; } System.out.println(count); } } }
import java.util.*;
public class Main{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
long m=1;
for(int i=n;i>1;i--){
m*=i;
}
String s=String.valueOf(m);
int count=0;
for(int j=0;j<s.length();j++){
if(s.charAt(j)=='0'){
count++;
}
}
System.out.println(count);
}
} import java.util.Scanner;
/**
* 输入一个正整数n,求n!(即阶乘)末尾有多少个0?
* 比如: n = 10; n! = 3628800,所以答案为2
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
int result = 0;
while (n != 0) {
result += n / 5;
n /= 5;
}
System.out.println(result);
}
}
}