#define PROBLEM "http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_3_D" #include <iostream> #include "Mylib/Number/Divisor/enumerate_divisors.cpp" namespace hl = haar_lib; int main() { int a, b, c; std::cin >> a >> b >> c; int ans = 0; for (auto d : hl::enumerate_divisors(c)) { if (a <= d and d <= b) ++ans; } std::cout << ans << std::endl; return 0; }
#line 1 "test/aoj/ITP1_3_D/main.test.cpp" #define PROBLEM "http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_3_D" #include <iostream> #line 2 "Mylib/Number/Divisor/enumerate_divisors.cpp" #include <algorithm> #include <vector> namespace haar_lib { std::vector<int64_t> enumerate_divisors(int64_t n) { std::vector<int64_t> temp, ret; { int64_t i; for (i = 1LL; i * i < n; ++i) { if (n % i == 0) { temp.push_back(n / i); ret.push_back(i); } } if (i * i == n) ret.push_back(i); } std::reverse(temp.begin(), temp.end()); ret.insert(ret.end(), temp.begin(), temp.end()); return ret; } } // namespace haar_lib #line 5 "test/aoj/ITP1_3_D/main.test.cpp" namespace hl = haar_lib; int main() { int a, b, c; std::cin >> a >> b >> c; int ans = 0; for (auto d : hl::enumerate_divisors(c)) { if (a <= d and d <= b) ++ans; } std::cout << ans << std::endl; return 0; }