والا گوگل چیزه خوبه برای این کار چندین الگوریتم وجود داره یکیش اینه :
#include <iostream.h>
void PrimeFactors (int );
int main()
{
int n = 0;
cout<<"\t\tWelcome to Prime Factors program\n\n";
cout<<"Enter the number : ";
cin>>n;
cout<<"\n\n";
PrimeFactors(n);
return 0;
}
void PrimeFactors (int n)
{
int count = 0;
int temp = 0;
for ( int i = 1 ; i <= n ; i++ )
{
int j = i - 1;
while ( j > 1 )
{
if ( i % j == 0 ) //Is PRIME
break;
else
j--;
}
if ( j == 1 )
{
if ( n % i == 0 )
{
cout<<"\n"<<i; //PRIME factor
if ( i > temp )
{ temp = i;
count++;
}
}
}
}
cout<<"\n\nNumber of prime factors of "<<n<<" : "<<count<<"\n\n";
cout<<"Greatest prime factor is "<<temp<<"\n\n";
}}
ولی در کل باید بندازیش داخل یک حلقه که از 2 شروع بشه اگه عدد اول بود که تقسیم و چاپ اگه نبود باید بریم مرحله بعدی . بیهترین کار اینه که یک تابع برای عدد اول تعریف کنی یا یک آرایه که داخلش اعداد اول بین 0 تا 9 باشه
البته این برای تجزیه یک عدد به عوامل اول درسته که فکر کنم منظور شما همین باشه





پاسخ با نقل قول