You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写R语言mult5函数返回不大于输入正整数的5的倍数向量(禁用循环)

错误原因

你现有代码的问题出在seq的by参数取值:你传入的是判断输入值是否为5的倍数的布尔值,布尔值在R中会被隐式转换为1(TRUE)和0(FALSE),当输入值不是5的倍数时modulo为0,步长为0不符合seq的参数要求,就会触发你遇到的报错。

正确实现

R内置的seq函数本身就支持自动截断到不超过to参数的最大步长值,不需要额外做整除判断,直接把步长固定为5即可:

mult5 <- function(numero){
  seq(from = 0, to = numero, by = 5)
}

测试用例验证

  • is.list(mult5(24))返回FALSE,符合要求,因为seq返回的是向量而非列表
  • all(mult5(24) == c(0, 5, 10, 15, 20))返回TRUE,输出结果完全匹配
  • 代码中没有使用for、while、sapply/lapply类函数,满足限制条件

内容的提问来源于stack exchange,提问作者Abel Pérez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 04:36:02