2250 13

[问答] 从一个集合中提取出满足条件的元素 [推广有奖]

11
llb_321 在职认证  发表于 2020-8-28 10:33:36
tiesuoqiao 发表于 2020-8-28 09:48
上边的所有代码都不行
楼主要求的是所有组合
比如b
你说的是对的。
假设x1<x2<x3,则y1和y2最大为x1 - 1,y3最大为x2 - 1。所以这个题目不用解方程组了,只需判断出较小的两个x以及相应约束的y,就可以找到y的最大值。
至于要列出集合中的元素,需要枚举y的组合并判断是否约束。

12
tiesuoqiao 发表于 2020-8-28 10:52:37
library(data.table)
x1=7
x2=10
x3=15

A=as.data.table(expand.grid(y1=seq(1, min(x1,x2)-1),
                            y2=seq(1, min(x1,x3)-1),
                            y3=seq(1, min(x2,x3)-1)))
B=A[(y1+y2<=x1) & (y1+y3<=x2) & (y2+y3<=x3)]

已有 1 人评分论坛币 收起 理由
llb_321 + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

13
慧(会)幸福 发表于 2020-8-28 10:57:40
tiesuoqiao 发表于 2020-8-28 10:52
library(data.table)
x1=7
x2=10
谢谢啊

14
drunkfish69 发表于 2020-8-29 05:16:47
  1. x <- c(7, 8, 9)
  2. y1 <- c(1:floor((x[1]+x[2]-x[3])/2))
  3. y2 <- c(1:floor((x[1]+x[3]-x[2])/2))
  4. y3 <- c(1:floor((x[2]+x[3]-x[1])/2))
  5. # A <- c(y1, y2, y3) %>%
  6. #  unique()
  7. A <- expand.grid(y1, y2, y3)
复制代码

那就组合下咯

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 17:12