問一道C語言的題

時間 2022-03-15 15:45:02

1樓:手機使用者

100!的尾數有多少個零?

*問題分析與演算法設計

可以設想:先求出100!的值,然後數一下末尾有多少個零。事實上,與上題一樣,由於計算機所能表示的整數範圍有限,這是不可能的。

為了解決這個問題,必須首先從數學上分析在100!結果值的末尾產生零的條件。不難看出:

一個整數若含有一個因子5,則必然會在求100!時產生一個零。因此問題轉化為求1到100這100個整數中包含了多少個因子5。

若整數n能被25整除,則n包含2個因子5;若整數n能被5整除,則n包含1個因子5。

*程式說明與註釋

#include

int main()

printf("the number of 0 in the end of 100! is: %d.\n",count); //列印結果

return 0;

}*執行結果

the number of 0 in the end of 100! is: 24.

*問題進一步討論

本題的求解程式是正確的,但是存在明顯的缺點。程式中判斷整數n包含多少個因子5的方法是與程式中的100有關的,若題目中的100改為1000,則就要修改程式中求因子5的數目的演算法了。

*思考題

修改程式中求因子5的數目的演算法,使程式可以求出任意n!的末尾有多少個零。

請給我小紅旗

2樓:匿名使用者

main()

m+=5;

}printf("100!include%d___0",k)}

3樓:

(1) n=m

(2) n=n/5

(3) m++

關於c語言的一道題,關於C語言的一道題

龍 鳳 兩個for迴圈,再建立一個動態陣列,就可以了 include include include char submaxstring const char str1,const char str2 int size strlen str1 strlen str2 strlen str1 strl...

C語言的一道題,求解釋,c語言一道題,求解釋

輸出的結果是 4294967293 分析如下 變數i是有符號數,i 3,而負數在記憶體中是以其補碼的形式存放的,3的補碼 int型的佔4個位元組32位 1,111 1111 1111 1111 1111 1111 1111 1101,其中最高位是符號位 0為正,1為負 而變數ud是無符號位的,那麼就...

一道C語言窮舉題。C語言窮舉 一道數學題。

不就三重迴圈嘛,include main 結果顯示了很多給。我不太理解,要什麼給什麼,是要求查詢嗎?輸入英國人就出現英國人的個數,輸入美國人就出現美國人的個數嗎?而不是一下全部顯示出來。我把樓上的改進一下,include include main 一個迴圈就夠了,效率較高,如下 include in...