The start parameter isn't a constant, it's a parameter with a default value. First, read about
default argument values in Python[
^] and
in C++[
^]. In C++ the default argument must be specified in the
function declaration[
^].
#include <iostream>
using namespace std;
int Algorithm(int n, int start = 2);
int main()
{
int num, ans;
cin >> num;
ans = Algorithm(num);
cout << ans;
return 0;
}
int Algorithm(int n, int start)
{
if (n == 1) {
return 1;
}
else {
int ans = 0;
int i;
for (i = start; i <= n; i++)
{
if (n % 1 == 0) {
ans += Algorithm(n / i, i + 1);
}
}
return ans;
}
}