楼主: xiaoshitou4836
1341 4

[问答] 数组中如何随机取到连续3个数 [推广有奖]

  • 0关注
  • 0粉丝

小学生

14%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
30 点
帖子
1
精华
0
在线时间
8 小时
注册时间
2010-5-13
最后登录
2021-8-30

楼主
xiaoshitou4836 发表于 2021-8-25 17:17:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Reels <- c(1,3,1,4,8,3,6,11,10,7)

请教一下,如何实现随机取到连续数,比如:(1,3,1) 、(10,7,1) 、(7,1,3)




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:ELS

沙发
蜗壳书屋 学生认证  发表于 2021-8-26 08:28:11 来自手机
你把它看成前n-2个数随机取一个数,然后再取这个数之后的两个数不就行了?
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

藤椅
owenqi 在职认证  学生认证  发表于 2021-8-26 21:08:12
然后关于尾部的问题,你可以考虑使用mod,如果出现整除,只需要把那个余数为0的换成数组的最后一个数就可以了。比如
  1. Reels <- c(1,3,1,4,8,3,6,11,10,7)
  2. idx <- 9:11 %% length(Reels)
  3. idx[idx == 0] <- length(Reels)
  4. Reels[idx]
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

板凳
小朝 发表于 2021-8-28 11:00:22
  1. Reels <- c(1,3,1,4,8,3,6,11,10,7)

  2. get_three_num <- function(vec_x){
  3.   kn <- length(vec_x)
  4.   i <- sample(kn,1,replace = T)
  5.   if(i==1){
  6.     ki <- c(kn,1,2)
  7.   } else if(i==kn){
  8.     ki <- c(kn-1,kn,1)
  9.   } else{
  10.     ki <- c(i-1,i,i+1)
  11.   }
  12.   return(Reels[ki])
  13. }

  14. get_three_num(Reels)
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

报纸
小朝 发表于 2021-8-28 11:33:03
  1. Reels <- c(1,3,1,4,8,3,6,11,10,7)

  2. get_three_num <- function(vec_x){
  3.   kn <- length(vec_x)
  4.   i <- sample(kn,1,replace = T)
  5.   ki <- c(i-1,i,i+1)
  6.   ki[ki>kn] <- ki[ki>kn]-kn
  7.   ki[ki==0] <- ki[ki==0]+kn
  8.   return(Reels[ki])
  9. }

  10. get_three_num(Reels)
复制代码

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-9 03:14