Write a program that read an integer and display all its smallest factors. example if the input integer 120,then the output should be as follows: 2,2,2,3,5.
#include <bits/stdc++.h>
using namespace std;
void primeFactors(int n)
{
while (n % 2 == 0)
{
cout << 2 << " ";
n = n/2;
}
for (int i = 3; i <= sqrt(n); i = i + 2)
{
while (n % i == 0)
{
cout << i << " ";
n = n/i;
}
}
if (n > 2)
cout << n << " ";
}
int main()
{
int n;
cin >> n;
primeFactors(n);
return 0;
}
Input 1:
120
Output 1:
2 2 2 3 5
Input 2:
315
Output 2:
3 3 5 7
Comments
Leave a comment