Sha256: 9d7474e48766f42a77bce0284bdee34f9afdff56173385092cece49428d83c1c

Contents?: true

Size: 444 Bytes

Versions: 396

Compression:

Stored size: 444 Bytes

Contents

#include "prime_factors.h"
#include <cmath>

namespace prime_factors
{

std::vector<int> of(int n)
{
    std::vector<int> factors;
    const int end{static_cast<int>(std::sqrt(n))};
    for (int candidate{2}; candidate <= end; ++candidate) {
        while (n % candidate == 0) {
            factors.push_back(candidate);
            n /= candidate;
        }
    }
    if (n > 1) {
        factors.push_back(n);
    }

    return factors;
}

}

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.179 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.178 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.177 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.176 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.175 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.174 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.173 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.172 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.171 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.170 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.169 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.167 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.166 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.165 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.164 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.163 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.162 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.161 tracks/cpp/exercises/prime-factors/example.cpp
trackler-2.2.1.160 tracks/cpp/exercises/prime-factors/example.cpp