解題心得
第一次解這種類型的題目。
題目問在給定範圍的階乘內數字結尾有幾個連續的零。我們都知道零代表著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;
}
沒有留言:
張貼留言