此代码运行良好,用于查找两个数字之间的最大因子,但我想知道为什么num打印出它的作用(对于此示例,在程序结束时为1 1 1 3)。我很困惑为什么我们可以将一个函数存储到一个int然后我们得到一个数字?为什么它给我们1?
#include <iostream>
using namespace std;
int LargestFactor(int number, int start)
{
if(start == number)
return 1;
int num = LargestFactor(number, start+1);
cout << num;
if (num ==1 && number % start == 0)
return start;
return num;
}
int main()
{
LargestFactor(6,2);
}