刚才我回复的不见了。
你的第一个函数应该是对的,第二个太长了没有看。
我在你第一个函数里加了两行记录路径的。路径可以当参数传进来,我懒,就搞了全局的。
你为啥要写这个啊?
int steps[100];
void print(int k)
{
for (int i = 0; i < k; ++i)
{
printf("%d ", steps[i]);
}
printf("\n");
}
void FJ(int RS, int MS, int k)
{
int i;
for (i = 1; i <= __min(RS, MS); i++)
{
steps[k] = i;
if (RS - i > 0)
{
FJ(RS - i, MS, k + 1);
}
else
{
print(k+1);
}
}
}
int main()
{
FJ(4, 2, 0);
}
--
FROM 167.220.233.*