🐙
ABC 148 | E - Double Factorial
問題
考えたこと
問題文の定義より以下のようになる。
上記より
末尾の連続する0を数えるには
気をつけるのは以下のように
偶数のみの数列なのでまず
それを
次に
このようにしていけば
コード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MOD = 1e9 + 7;
int main() {
ll n;
cin >> n;
if (n % 2 == 1) {
cout << 0 << endl;
return 0;
}
ll ans = 0;
n /= 2;
while (n > 0) {
ll v = n / 5;
ans += v;
n /= 5;
}
cout << ans << endl;
}
参考
Discussion