From e00affcd06bcd0f2ec9272c4c7279400e0bb91fc Mon Sep 17 00:00:00 2001 From: Tnirpps Date: Thu, 21 May 2026 22:24:18 +0300 Subject: [PATCH] fix: get_all_divisors array size --- Math/divisibility.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Math/divisibility.cpp b/Math/divisibility.cpp index 714f5b8..06a4658 100644 --- a/Math/divisibility.cpp +++ b/Math/divisibility.cpp @@ -15,16 +15,15 @@ bool is_prime(T n) { template std::vector get_all_divisors(T n) { /* returns a vector containing all divisors of the number */ - std::vector res(cbrt(n) + 1); - int cnt = 0; + std::vector res; + res.reserve(2 * static_cast(std::sqrt(n)) + 1); for(T i = 1; i * i <= n; ++i) { if (n % i == 0) { - res[cnt++] = i; + res.push_back(i); if (i != n / i) - res[cnt++] = n / i; + res.push_back(n / i); } } - res.resize(cnt); return res; }