我需要编写一个递归函数来打印整数的素数分解元素,升序。
void printPrimeFactors(int num)
{
int div;
if (isPrime(num) == true)
cout << num << " ";
else
{
for (div = 2; div < num; div++)
{
if (isPrime(div) == true && num%div == 0)
printPrimeFactors(num/div);
}
}
我究竟做错了什么?我的输出,20 是:
5 2 5 2 2
我最小的输入是素数,递归函数的较小输入是num div (smallest prime divider of num)
.