Я пытаюсь написать код, который дает основную факторизацию заданного целого. Вот мой код:Первичная факторизация целого числа в C++
#include <iostream>
#include <cmath>
using namespace std;
void primefactor(int a);
int main()
{
int n;
cout<<" Enter the value of n "<<endl;
cin>>n;
primefactor(n);
return 0;
}
void primefactor(int a){
while(a%2==0){
cout<<"2*";
a/=2;
for(int i=3; i<=sqrt(a); i+=2){
while(a%i==0){
cout<<i<<"*";
a=a/i;
}
}
if(a>2){
cout<<a<<endl;
}
}
Однако, когда я запускаю выход в последний фактор я получаю дополнительный * в факторизации. Как я могу удалить это?
Вы знаете о 'if' вы? Также название вопроса не имеет никакого отношения к вашему фактическому вопросу. –