美文网首页
这个人骑车骑出了一个向量,然后。。。

这个人骑车骑出了一个向量,然后。。。

作者: 小洁忘了怎么分身 | 来源:发表于2020-04-09 23:46 被阅读0次

    花花写于2020-4-9

    起因

    话说有那么一天,曾老板闲来无事出门骑车,还骑了个来回,发现自己骑出了个向量,遂很开心的丢进了各个群当练习题,用R语言生成那一串数:9,8,10。。。1,17。
    这。。。当然是写答案。就好比下了个毒,我就赶紧找解药。

    简单版

    x = rep(0,17)
    x[seq(1,17,2)]=9: 17
    x[seq(2,17,2)]=8: 1
    x
    #[1]  9  8 10  7 11  6 12  5 13  4 14
    #[12]  3 15  2 16  1 17
    

    函数版

    上面的方法仅适用于17。如果要不局限于着一个数字,那就要写函数。
    需要区分奇偶数,先分别拿个例子试试

    #奇数
    n=17
    x = integer()
    x[seq(1,n,2)]=((n+1)/2): n
    x[seq(2,n,2)]=((n+1)/2 -1): 1
    x
    #[1]  9  8 10  7 11  6 12  5 13  4 14
    #[12]  3 15  2 16  1 17
    #偶数
    n=18
    y=integer()
    (n/2+1): n
    (n/2): 1
    y[seq(1,n,2)]=(n/2+1): n
    y[seq(2,n,2)]=(n/2): 1
    y
    #[1] 10  9 11  8 12  7 13  6 14  5 15
    #[12]  4 16  3 17  2 18  1
    

    测试好了就木有问题。写成函数。

    dud = function(n){
      y = integer()
      if(n %% 2==0){
        y[seq(1,n,2)]=(n/2+1): n
        y[seq(2,n,2)]=(n/2): 1
      }else{
        y[seq(1,n,2)]=((n+1)/2): n
        y[seq(2,n,2)]=((n+1)/2 -1): 1
      }
      return(y)
    }
    dud(17)
    #[1]  9  8 10  7 11  6 12  5 13  4 14
    #[12]  3 15  2 16  1 17
    dud(18)
    #[1] 10  9 11  8 12  7 13  6 14  5 15
    #[12]  4 16  3 17  2 18  1
    

    嗯。骑的真快,我一开始还以为是跑步跑的。突然想起,前几天小郭同学说他给曾老板组装了个自行车来着。夸夸小郭,上得厅堂下得厨房,装的了服务器组的了自行车,还会修灯泡。PS:他是我们全国巡讲团队的助教啊,多了就不说了,怕被打。

    相关文章

      网友评论

          本文标题:这个人骑车骑出了一个向量,然后。。。

          本文链接:https://www.haomeiwen.com/subject/zwpkmhtx.html