diff --git a/Luogu/P2508/P2508.cpp b/Luogu/P2508/P2508.cpp new file mode 100644 index 00000000..849ece35 --- /dev/null +++ b/Luogu/P2508/P2508.cpp @@ -0,0 +1,35 @@ +#include + +using std::cin; +using std::cout; +const char endl = '\n'; + +int main() { + std::ios::sync_with_stdio(false); + cin.tie(nullptr); + + long long r, ans = 1; + + cin >> r; + + for (int i = 2; i * i <= r; i++) { + if (r % i == 0) { + int cnt = 0; + + while (r % i == 0) { + r /= i; + cnt++; + } + + if (i % 4 == 1) ans *= cnt * 2 + 1; + } + } + + if (r != 1 && r % 4 == 1) { + ans *= 3; + } + + cout << ans * 4 << endl; + + return 0; +}