编程之美3——N!末尾有多少个0
生活随笔
收集整理的這篇文章主要介紹了
编程之美3——N!末尾有多少个0
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
因為n!是一個非常大的數,所以不能通過常規的方法,求出n!的值之后,再判斷它的末尾有多少個0.
這里的關鍵就是,n!的末尾有多少個0,取決于n!中,質因數 5 的個數。
如:12!=479001600? ? ,其中,5、10各含有1個質因數5,所以12!末尾有2個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:
這個對代碼1的改進
#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; }轉載于:https://blog.51cto.com/anglecode/1631158
總結
以上是生活随笔為你收集整理的编程之美3——N!末尾有多少个0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity3D开发环境的搭建
- 下一篇: YOLOv2——中文版翻译