一个递归函数,该如何处理
一个递归函数
期望结果:[3, 6, 9, 2, 7, 1, 8, 5, 10, 4]
第一个函数f只能返回一个结4(最后那个),我想让他返回中间所有的数,改写成f2却没有改对,请大侠帮忙
------解决方案--------------------
不会用python的路过...
不过既然是递归函数,必然存在一个返回值.你只返回当然只会返回一个值了.
------解决方案--------------------
在else语句中,用一个变量接受递归函数的返回值,然后在输出这个变量之后再return这个变量。
不会python语法,没法贴代码。。
------解决方案--------------------
顺便问一句,%是表示求余数么??如果是的话,好像结果不是你期望的那样。。。。
------解决方案--------------------
不会用python的路过...
------解决方案--------------------
看不懂。想要得到期望结果。最简单的方法
viod main()
{
int a[11]={3, 6, 9, 2, 7, 1, 8, 5, 10, 4};
for(int i=0;i<10;i++) printf("%d ",a[i]);
}
- Python code
def f(n,x): if n==1 : return 0 else: return (f(n-1,x)+x-1) % n #-------------------------------------- def f2(n,x): if n==1 : return [0] else: return f2(n-1,x) + [(n+x-1) % n] print f(10,3)
期望结果:[3, 6, 9, 2, 7, 1, 8, 5, 10, 4]
第一个函数f只能返回一个结4(最后那个),我想让他返回中间所有的数,改写成f2却没有改对,请大侠帮忙
------解决方案--------------------
不会用python的路过...
不过既然是递归函数,必然存在一个返回值.你只返回当然只会返回一个值了.
------解决方案--------------------
在else语句中,用一个变量接受递归函数的返回值,然后在输出这个变量之后再return这个变量。
不会python语法,没法贴代码。。
------解决方案--------------------
顺便问一句,%是表示求余数么??如果是的话,好像结果不是你期望的那样。。。。
------解决方案--------------------
不会用python的路过...
------解决方案--------------------
看不懂。想要得到期望结果。最简单的方法
viod main()
{
int a[11]={3, 6, 9, 2, 7, 1, 8, 5, 10, 4};
for(int i=0;i<10;i++) printf("%d ",a[i]);
}