【问题标题】:Find all numbers in a range for which x is a factor?找出以 x 为因数的范围内的所有数字?
【发布时间】:2020-11-25 21:34:23
【问题描述】:

我想知道是否可以使用循环来查找例如 10000 到 20000 之间可被某个数整除的最小或最大数,我该怎么做?

【问题讨论】:

    标签: r loops nested-loops


    【解决方案1】:

    你可以像这样使用单个循环

    out <- c()
    
    for(i in 10000:20000){
      if(i %% 1234 == 0) { out <- c(out, i) }
    }
    
     out
    [1] 11106 12340 13574 14808 16042 17276 18510 19744
    
    

    【讨论】:

    • 谢谢@stevec。有没有办法以不同的方式做最大和最小的?即,如何让“out”的输出只拼出最大的?
    • @ShaneMurphy max(out, min(out)
    【解决方案2】:

    你对这个循环有什么计划?如果您只想要可被 1234 整除的最小数字,那么为什么要使用循环而不是 min(c(10000:20000)[which(10000:20000 %% 1234 == 0)])

    另请注意,当您希望循环继续直到满足某些条件时,您也可以使用while()

    i <- 10000
    while(i < 20000 & !i %% 1234 == 0){
       i <- i + 1
    }
    
    i
    

    如果没有这样的数字,这将为您提供可被 1234 或 20000 整除的最小数字。交换起始数字并减去而不是加法,以便向后运行并获得最大的数字。

    【讨论】:

      猜你喜欢
      • 2015-07-28
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      • 2017-03-23
      • 1970-01-01
      相关资源
      最近更新 更多