diff options
Update example 5 - prime factors.cpp
1 files changed, 43 insertions, 0 deletions
| -rw-r--r-- | Sem. 03/example 5 - prime factors.cpp | 43 |
diff --git a/Sem. 03/example 5 - prime factors.cpp b/Sem. 03/example 5 - prime factors.cpp index e69de29..e45de2b 100644 --- a/Sem. 03/example 5 - prime factors.cpp +++ b/Sem. 03/example 5 - prime factors.cpp @@ -0,0 +1,43 @@ +#include <iostream>
+#include <cmath>
+using namespace std;
+
+
+int main()
+{
+ int n;
+ cin >> n;
+
+ for (int i = 2; i <= n; i++)
+ {
+ //primality check
+ bool isPrime = true;
+ double temp = sqrt(i);
+ for (int k = 2; k <= temp; k++)
+ {
+ if (i % k == 0)
+ {
+ isPrime = false;
+ break;
+ }
+ }
+
+ if (!isPrime)
+ continue; //we don't need this number
+
+ //check how many time i devides n
+ int count = 0;
+ while (n % i == 0)
+ {
+ count++;
+ n /= i;
+ }
+
+ if (count >= 1)
+ {
+ cout << i << "^" << count << " ";
+ }
+ }
+
+
+}
|
