如何用R编写函数获取两实数之间的所有整数
R语言实现
integers_inbetween函数 实现思路
- 优先理顺两个输入参数的大小关系,无论调用时参数顺序如何,都能统一计算区间范围
- 严格遵循“不含端点”的筛选规则,计算区间内符合要求的整数起止位置
- 对区间内无有效整数的场景,直接返回NULL
函数完整代码
integers_inbetween <- function(a, b) { # 统一获取区间上下限 lower_bound <- min(a, b) upper_bound <- max(a, b) # 计算严格在区间内的整数起止值 int_start <- floor(lower_bound) + 1 int_end <- ceiling(upper_bound) - 1 # 判断是否存在有效整数 if (int_start > int_end) { return(NULL) } # 生成整数序列返回 return(seq(int_start, int_end)) }
实际运行效果验证
- 正序参数调用:
integers_inbetween(1, 4) # 输出结果:2 3
- 参数颠倒顺序调用:
integers_inbetween(4, 1) # 输出结果:2 3
- 区间无有效整数调用:
integers_inbetween(3.5, 4) # 输出结果:NULL
适配场景说明:该实现兼容所有实数输入,对整数边界、带小数的边界输入都会严格遵循规则:既不会把区间端点计入结果,也不会漏算区间内的有效整数。
内容的提问来源于stack exchange,提问作者Jake Parker
相关产品推荐
相关产品推荐

