public static void main(String[] args) {
/*1000的階乘已經是天文數字了,是以不可能計算出來,再看有多少個0*/
/* 解題思路:兩個素數2、5,相乘即可得到10,我們可以認為,有多少組2、5,結尾就有多少個0 */
/* 操作方法:操作1到1000中所有的數,看每個數能被2和5整除幾次,并分别統計,假設被2整除8次,被5整除12次,那我們可以認為有8組(2,5),即8個0*/
//被2整除的次數之和
int count2 = 0;
//被5整除的次數之和
int count5 = 0;
//周遊所有的數
for (int number = 1; number <= 1000; number ++) {
int dynmicNumber = number;//該數的一個複制,用于不數的整除用
while (dynmicNumber % 2 == 0) { //統計該數能被2整除多少次,但是并不單獨統計,而是統計到全局
count2++;
dynmicNumber /= 2;
}
while (dynmicNumber % 5 == 0) { //統計該數能被2整除多少次,但是并不單獨統計,而是統計到全局
count5++;
dynmicNumber /= 5;
}
}
System.out.println("結尾0的個數為:" + Math.min(count2, count5));
/* 素數是個科學計算中很重要的一個概念,素,可以了解為很單純的意思,比如:白素紙,白素貞,元素。素數也叫質數,質也可以了解為單純的意思吧,品質,物質,本質。
* 素和質連起來就是素質,素質用來形容人的話,可以了解為:最基本的道德,最原始的人性,等等。
* 素數就是最純淨的數,沒有任何其它成分的數,其它的數都可以說是由素數相乘出來的。
* 是以,了解好素數,對于數學和程式來說,有重要的意義。*/
}