From b883406671689801c67e790fbd3c6ac91b29bfe0 Mon Sep 17 00:00:00 2001 From: Dmitry Kokorin Date: Thu, 7 Apr 2016 15:07:05 +0300 Subject: [PATCH] prime_factors: iteration 1 --- cpp/prime-factors/prime_factors.cpp | 22 ++++++++++++++++++++++ cpp/prime-factors/prime_factors.h | 13 +++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 cpp/prime-factors/prime_factors.cpp create mode 100644 cpp/prime-factors/prime_factors.h diff --git a/cpp/prime-factors/prime_factors.cpp b/cpp/prime-factors/prime_factors.cpp new file mode 100644 index 0000000..565b834 --- /dev/null +++ b/cpp/prime-factors/prime_factors.cpp @@ -0,0 +1,22 @@ +#include "prime_factors.h" + + +namespace prime_factors { + +factors_t of(int number) +{ + factors_t result; + + for (int i = 2; i <= number; ++i) { + + while (number % i == 0) { + + number /= i; + result.push_back(i); + } + } + + return result; +} + +} diff --git a/cpp/prime-factors/prime_factors.h b/cpp/prime-factors/prime_factors.h new file mode 100644 index 0000000..8ac971e --- /dev/null +++ b/cpp/prime-factors/prime_factors.h @@ -0,0 +1,13 @@ +#pragma once + +#define EXERCISM_RUN_ALL_TESTS + +#include + +namespace prime_factors { + +typedef std::vector factors_t; + +factors_t of(int number); + +}