编程之美3——N!末尾有多少个0
生活随笔
收集整理的這篇文章主要介紹了
编程之美3——N!末尾有多少个0
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
因?yàn)閚!是一個(gè)非常大的數(shù),所以不能通過常規(guī)的方法,求出n!的值之后,再判斷它的末尾有多少個(gè)0.
這里的關(guān)鍵就是,n!的末尾有多少個(gè)0,取決于n!中,質(zhì)因數(shù) 5 的個(gè)數(shù)。
如:12!=479001600? ? ,其中,5、10各含有1個(gè)質(zhì)因數(shù)5,所以12!末尾有2個(gè)0
代碼1:
#include?<iostream> using?namespace?std; int?main(void) {int?n,i,j,m;m=0;cin>>n;for(i=1;i<=n;i++){j=i;while(!(j%5)){m++;j/=5;}}cout?<<?m?<<endl;return?0; }代碼2:
這個(gè)對(duì)代碼1的改進(jìn)
#include?<iostream> using?namespace?std; int?main(void) {int?n,m;m=0;cin>>n;while(n){m+=n/5;n/=5;}cout<<?m?<<endl;return?0; }轉(zhuǎn)載于:https://blog.51cto.com/anglecode/1631158
總結(jié)
以上是生活随笔為你收集整理的编程之美3——N!末尾有多少个0的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity3D开发环境的搭建
- 下一篇: YOLOv2——中文版翻译