G***G 发帖数: 16778 | 1 当k等于3时,实现3个for嵌套
K=3
for
for
for
endfor
endfor
endfor
当k=n时,实现n个for嵌套
请问如何实现? |
t*****z 发帖数: 1598 | 2 搜索关键字dynamic nested for loops,答案一大把。
【在 G***G 的大作中提到】 : 当k等于3时,实现3个for嵌套 : K=3 : for : for : for : endfor : endfor : endfor : 当k=n时,实现n个for嵌套 : 请问如何实现?
|
y****i 发帖数: 4109 | 3 leetcode 里面好多这样的题,n个整数的所有组合,n不是常数,所以一开始不知道循
环几层。 思路是递归。 |
K****n 发帖数: 5970 | 4 是不是可以写一个程序,这个程序自动写程序,你让它写几个for,它就写几个 for
for i in range(n):
print ' ' * 4 * i + 'for'
endfor
for i in range(n):
print ' ' * 4 * (n - i - 1) + 'endfor'
endfor
用 stdout 把 print 放到一个文件里,然后点击开始键,看到确认弹出菜单后,点击
确认键
【在 G***G 的大作中提到】 : 当k等于3时,实现3个for嵌套 : K=3 : for : for : for : endfor : endfor : endfor : 当k=n时,实现n个for嵌套 : 请问如何实现?
|
e*********6 发帖数: 3453 | 5 recursion
【在 G***G 的大作中提到】 : 当k等于3时,实现3个for嵌套 : K=3 : for : for : for : endfor : endfor : endfor : 当k=n时,实现n个for嵌套 : 请问如何实现?
|
G***G 发帖数: 16778 | 6 this is what I am doing now.
but it is not what I want.
what I want is to do this without pressing enter key.
【在 K****n 的大作中提到】 : 是不是可以写一个程序,这个程序自动写程序,你让它写几个for,它就写几个 for : for i in range(n): : print ' ' * 4 * i + 'for' : endfor : for i in range(n): : print ' ' * 4 * (n - i - 1) + 'endfor' : endfor : 用 stdout 把 print 放到一个文件里,然后点击开始键,看到确认弹出菜单后,点击 : 确认键
|
e*********6 发帖数: 3453 | 7 这个方法你要不知道到底有多少层怎么办?
【在 G***G 的大作中提到】 : this is what I am doing now. : but it is not what I want. : what I want is to do this without pressing enter key.
|
K****n 发帖数: 5970 | 8 真是英雄所见略同啊,凡是懂编译原理的人都会选这条路的 muhahaha
【在 G***G 的大作中提到】 : this is what I am doing now. : but it is not what I want. : what I want is to do this without pressing enter key.
|
e*********6 发帖数: 3453 | 9 难道这就是手工展开recursion?
【在 K****n 的大作中提到】 : 真是英雄所见略同啊,凡是懂编译原理的人都会选这条路的 muhahaha
|
K****n 发帖数: 5970 | 10 这是人工智能展开 recursion
人工智能是一种新的科技,可以用来代替程序员编程序,以后就不用你们这些 coding
monkey 搞 recursion 了。啊哈哈哈哈哈
【在 e*********6 的大作中提到】 : 难道这就是手工展开recursion?
|
|
|
l****1 发帖数: 66 | 11 def forCycling(n, state):
assert(n >= 0)
if n is 0:
return state
else:
for loop:
update(state)
return forCycling(n - 1, state) |
e*********6 发帖数: 3453 | 12 state上要加个&,不然很容易stackoverflow啊
【在 l****1 的大作中提到】 : def forCycling(n, state): : assert(n >= 0) : if n is 0: : return state : else: : for loop: : update(state) : return forCycling(n - 1, state)
|
e*********6 发帖数: 3453 | 13 你这是人类只能代替编译器做简单重复工作,哈哈哈
coding
【在 K****n 的大作中提到】 : 这是人工智能展开 recursion : 人工智能是一种新的科技,可以用来代替程序员编程序,以后就不用你们这些 coding : monkey 搞 recursion 了。啊哈哈哈哈哈
|
l****1 发帖数: 66 | 14
还是你眼尖,写的时候忘了state得是个指针了。
写成state = update(state)吧,免得用&符号吓走一部分狗。
【在 e*********6 的大作中提到】 : 你这是人类只能代替编译器做简单重复工作,哈哈哈 : : coding
|
f*******9 发帖数: 74 | |
e*********6 发帖数: 3453 | 16 不写函数怎么递归?
【在 f*******9 的大作中提到】 : 擦,用while递归,不用写函数,不用定义n。 : 汉诺塔,国内理工科大二的教材里面递归的第一堂课, : https://zh.wikipedia.org/zh-cn/%E6%B1%89%E8%AF%BA%E5%A1%94
|
K****n 发帖数: 5970 | 17 自己写个 stack,没听说过所有的递归都可以写成 loop?
【在 e*********6 的大作中提到】 : 不写函数怎么递归?
|
e*********6 发帖数: 3453 | 18 那就不是递归了,这种写法应该只有刷题面试时候才会写吧
【在 K****n 的大作中提到】 : 自己写个 stack,没听说过所有的递归都可以写成 loop?
|