【问题标题】:How to calculate the number of items running on sigma of "for" loop如何计算在“for”循环的 sigma 上运行的项目数
【发布时间】:2013-09-10 20:08:34
【问题描述】:

我有以下代码,我需要计算 sigmas。 我知道计算第一个 sigma,我不知道第二个 sigma。 我不知道如何计算求和的数字。

谁能解释我如何计算第二个 sigma 中的数字,来自k = 1 to ?

谢谢

【问题讨论】:

  • 您能否更清楚地说明您要查找的内容?
  • 请选择一种语言,而不是 4 种。
  • 我认为 OP 想知道“给定上面的代码,它计算的值的数学表达式是什么?”他们已经知道其中的一部分并在图片中提供了它。
  • 第二个sigma不是标准sigma,标准sigma的增量为1,而第二个sigma的增量为i*i,所以答案是否定的。不能这么写,其实?就是n*n,但是如果是这样我们理解增量是1其实不是。
  • @togitog 如果您想自行回答问题,请添加新答案,不要编辑您的原始问题。

标签: math language-agnostic


【解决方案1】:

为了清楚起见,让我们将第二个循环重写为:

int j;
for (j = 1; k(j) <= n*n; j++) ;

我们想知道循环结束时j 的值,而不是执行它。

注意k(j) 满足:

  • k(1) = 1
  • k(j+1) = k(j) + i*i

你可以看到k(j) = 1 + j * i * i满足这些条件。

因此循环相当于:

int j = floor ((n*n - 1) / (i*i)) + 1

外部循环不能写成封闭形式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-13
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 2021-11-04
    • 1970-01-01
    • 2012-06-04
    相关资源
    最近更新 更多