我想从用户那里取一个整数n并用它来打印n-0,n-1,n-2等,直到零(每行一个数字)然后从0开始!到n!。递归。但是我完全迷失了,因为我对递归的理解充其量是拙劣的(慷慨)。到目前为止,这是我的微薄代码:
static void p(int n)
{
if (n == 0)
{
System.out.println(n);
}
else
{
System.out.println(n);
p(n-1);
}
}
感谢阅读!
答案 0 :(得分:2)
没有测试它,但这应该可行。
static void p(int n)
{
System.out.println(n);
if (n > 0)
{
p(n-1);
}
System.out.println(n);
}
我建议您通过代码调试来理解, 为什么 此代码可以使用
更新:
static int p(int n)
{
System.out.println(n);
int newN = n;
if (n > 0)
{
newN = n*p(n-1);
}
System.out.println(newN);
return newN==0?1:newN;
}