解題心得
第一次解這種類型的題目。
題目問在給定範圍的階乘內數字結尾有幾個連續的零。我們都知道零代表著10,也就是2*5,如此可推論每當有一組2跟5時就會多一個零。只要能知道有多少個2、5就能知道答案,又因為5是每五個數字出現一次,2只要每2個數字就會出現一次,可知5才是主宰零出現次數的關鍵。
因此這題只要算5出現了幾次,也就是除以5就好了。
程式碼
#include <iostream> using namespace std; int main() { long long int low, high; while(cin>>low>>high) { if(low==0&&high==0) break; cout<<high/5 - low/5 + 1<<endl; } return 0; }
沒有留言:
張貼留言