LanQiaoTestCodes/求100阶乘0的个数.java

42 lines
798 B
Java
Raw Normal View History

2023-04-23 12:34:32 +00:00
package Course_Codes;
import java.math.BigInteger;
public class <EFBFBD><EFBFBD>100<EFBFBD>׳<EFBFBD>0<EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD> {
public static void main(String[] args) {
int n=10;
Fun(n);
Fun2(n);
}
public static void Fun(int n) {
BigInteger a=new BigInteger("1");
for(int i=1;i<=n;i++) {
//aΪBigInteger <20><><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>a*=i;
a=a.multiply(BigInteger.valueOf(i));
}
String s=a.toString();//s=100<30><30><EFBFBD><EFBFBD>ֵ
System.out.println(s);
int count=0;
for(int i=s.length()-1;i>=0;i--) {
if(s.charAt(i)!='0')//<2F>ҵ<EFBFBD><D2B5><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD>
break;
count++;//<2F><>¼0<C2BC>ĸ<EFBFBD><C4B8><EFBFBD>
}
System.out.println(count);
}
//<2F><>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>
public static void Fun2(int n) {
int ans=0;
while(n>0) {
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>5<EFBFBD><35><EFBFBD><EFBFBD>1<EFBFBD><31>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
ans=ans+n/5;
n=n/5;
}
System.out.println(ans);
}
}