如何用c 程式設計階乘尾數零的個數,n 末尾有多少個零

2021-05-04 21:50:28 字數 1810 閱讀 7819

1樓:匿名使用者

乘積末尾的0的個數依賴於因子中的2的個數和5的個數。對於階乘來說,每2個數字就至少有一個2的因子,所以2的因子是足夠的。5的因子相對少些,至少連續5個數才能保證一定出現一個。

注意,這裡連續5個書保證出現一個5的因子是指最少的情況。比如1,2,3,4,5,這就只會出現一個。但是考慮 21,22,23,24,25,25 = 5 * 5,所以如果乘以25那就能得到2個5的因子。

#include

using namespace std;

int main(void)

cout<< zerocnt<

return 0;

2樓:匿名使用者

#include

using namespace std;

int main()

cout<<"the number of zero is "<

return 0;

}統計1-n中所有數含有因子5的個數之和,因為只有2和5相乘才會得到一個0,而因子2出現的次數遠比5多,所以5的個數決定了0的個數

ps:樓上好像不對,如果125呢,有3個5,625呢。。。你好像都沒考慮

3樓:孟羽然

tian20090730 的思路很正確,完全同意!但他的**似乎有些問題。

看看我的**吧,這個應該是正解了。採納吧,嘿嘿。

#include

using namespace std;

int main()

while (n > 0)

// 跳到下一個5的倍數處理

n -= 5;

}cout << factor5_count << endl;

return 0;}

4樓:匿名使用者

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

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

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

*程式說明與註釋

#include

using namespace std;

int main()

cout<<"the number of 0 in the end of n! is:"<

return 0;}

256階乘末尾0的個數

5樓:萬昌機電

一個正整數的階乘是所有小於及等於該數的正整數的積那麼顯然只有乘以10,還有2×5 這兩個計算可以新增0 於是求n的階乘末尾有幾個0時就計算0和5的個數和或者對(n+5)/5取整即可

6樓:匿名使用者

末尾有0的兩位數乘兩位數微課

c++中如何編寫求階乘n!的函式

7樓:匿名使用者

計算公來式為:

n!自= n×(n-1)×…×3×2×1,且0!=1在子函式中只需一個資料x,故設一個引數n

計算結果要返回主函式,故設一個變數resultn的階乘可在一重迴圈中實現

函式 fac()計算階乘n!

int fac(int n)

return result;}

8樓:匿名使用者

#include

using namespace std;

int fac()

如何用用c的控制元件輸入,判斷數為正數 負數或零

新建一個c 的控制檯應用程式,寫 using system using system.collections.generic using system.text namespace test4個數 i temp convert.todouble console.readline if temp 0 ...

c如何程式設計實現密碼的輸入,(c )程式設計實現輸入兩個整數,輸出它們的商與商的第二位小數 怎麼輸出商的第二位小數?

include include cout please enter password gets user if strcmp user,password 隨便輸入一個初始密碼 cout error else 1 主要使用getch函式即可實現不顯示字元,進行密碼輸入。函式用途 從控制檯讀取一個字元,...

程式設計零基礎想學C語言,譚浩強老師的《C程序設計》很好,但版本太多,我該學哪個版本

譚老的 c程式設計 就很適合初學者,曾在上世紀九十年代橫行各大高校。至於 一 二 三版,那是對前一版本的修訂版,每次修訂都對上一版本作一些增刪處理。第一版以c87標準為基礎,第二版以c99標準為基礎,第三版增加了一章c 的內容,但大部分內容沒有改變,如例題,習題等。你當然是選擇第三版了,當然選第二版...