【问题标题】:loop with while without to print all iterations使用 while 循环而不打印所有迭代
【发布时间】:2015-10-27 07:06:13
【问题描述】:

如何使用 while 进行循环以计算总和 1 + 2 + 3 + ... + 300,并仅每 20 次迭代打印一次结果。

我尝试构建下面的命令,但它不起作用:

soma_300=0
i=0
while(i< 300){
  if (i/20 == integer) {
    print(i)
  }
  i=i+1

  soma_300=soma_300+i
}
soma_300

【问题讨论】:

  • 你使用什么语言?
  • 对不起!我正在使用 R。谢谢!

标签: r loops while-loop each


【解决方案1】:

我认为你可以尝试使用另一个这样的计数器

soma_300=0
i=0
c=0
while(i< 300) {
  i=i+1
  soma_300=soma_300 + i
  c=c+1
  if (c == 20) {
    print(i)
    c = 0
  }
}

【讨论】:

    【解决方案2】:

    您想检查i20 的其余部分是否为0。为此,您需要使用%%

    soma_300=0
    i=0
    
    while(i < 300){
      if (i %% 20 == 0) {
        print(i)
      }
      i=i+1
    
      soma_300=soma_300+i
    }
    [1] 0
    [1] 20
    [1] 40
    [1] 60
    [1] 80
    [1] 100
    [1] 120
    [1] 140
    [1] 160
    [1] 180
    [1] 200
    [1] 220
    [1] 240
    [1] 260
    [1] 280
    

    【讨论】:

      【解决方案3】:

      我不熟悉 R,但您可以尝试使用模数运算符 %%
      这似乎有效:

      sum = 0
      i = 0
      
      while(i < 300) {
        if (i %% 20 == 0) {
          print(i)
        }
        i = i + 1
      
        sum = sum + i
      }
      sum
      

      【讨论】:

        猜你喜欢
        • 2020-04-26
        • 1970-01-01
        • 2020-09-21
        • 2016-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多