【发布时间】:2011-10-31 02:44:41
【问题描述】:
Q1 - 在下面的双嵌套循环中,如果循环对n 执行,m 中的最终值将是什么。
当然不希望循环并查看m 是什么!因为n 可以很大!
Q2 -您是如何找到答案的?我的意思是你用来解决问题的算法/技术是什么?
Q3 -您对解决类似问题有什么建议?
这是我一直在寻找的答案:
答案:
定义ntn(n,k): """返回 k 个嵌套依赖循环的迭代次数(n)""" 返回 long(np.prod(n-np.arange(k,dtype=float)) / np.prod(np.arange(k,dtype=float)+1))示例:
>>> ntn(1000,4) 41417124750L >>> ntn(1e20,3) 166666666666666650797607483335462097315368077619447843520512L【问题讨论】:
-
这真的是一道数学题。
sum(1 ≤ i ≤ n-2) sum(i+1 ≤ j ≤ n-1) sum(j+1 ≤ k ≤ n) 1。下一步是查阅您最喜欢的离散数学教科书。解决类似问题的第一个建议是出现在教授的办公时间。 -
@everybody:我解决了问题并找到了我正在寻找的答案并将其放在问题的上方。它是用 Python 语言编写的。无论如何都可以不受限制地使用它!
标签: loops for-loop nested-loops