V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
phpchen
V2EX  ›  程序员

这个数字规律该怎么循环出来呢。。。。

  •  
  •   phpchen · 2019-03-29 11:16:00 +08:00 · 3378 次点击
    这是一个创建于 2068 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看 1 楼的回复,这里发不出来

    25 条回复    2019-03-29 21:23:35 +08:00
    phpchen
        1
    phpchen  
    OP
       2019-03-29 11:16:51 +08:00
    1 1 1
    2 1 1
    3 1 1

    1 2 1
    2 2 1
    3 2 1

    1 3 1
    2 3 1
    3 3 1
    ---------
    1 1 2
    2 1 2
    3 1 2

    1 2 2
    2 2 2
    3 2 2

    1 3 2
    2 3 2
    3 3 2
    ---------
    1 1 3
    2 1 3
    3 1 3

    1 2 3
    2 2 3
    3 2 3

    1 3 3
    2 3 3
    3 3 3
    zycpp
        2
    zycpp  
       2019-03-29 11:20:12 +08:00 via iPhone   ❤️ 2
    四进制 逆序输出
    wutiantong
        3
    wutiantong  
       2019-03-29 11:20:45 +08:00   ❤️ 2
    for i ; for j; for k; println "k j i";
    lastpass
        4
    lastpass  
       2019-03-29 11:34:46 +08:00 via Android
    for(i <- 1 to 3;j <- 1 to 3 ;k <- 1 to 3 ){
    println(k + " " + j + " " + i );
    }
    phpchen
        5
    phpchen  
    OP
       2019-03-29 11:35:40 +08:00
    我已经写出来了
    public function ss() {
    $n = 3;
    $a = pow($n, 3);
    $j = 1;
    $er = 1;
    $er_num = 0;
    $er_max_num = $n;
    $san = 1;
    $san_num = 0;
    $san_max_num = $n * $n;
    for ($i = 1; $i <= $a; $i++) {
    echo "{$j} ";
    echo "{$er} ";
    echo "{$san} ";
    $j++;
    $er_num++;
    $san_num++;
    if ($j > $n) {
    $j = 1;
    }
    if ($er_num >= $er_max_num) {
    $er_num = 0;
    $er++;
    if ($er > $n) {
    $er = 1;
    }
    }
    if ($san_num >= $san_max_num) {
    $san_num = 0;
    $san++;
    }
    if ($i % $n == 0) {
    echo "<hr/>";
    }
    echo "<br/>";
    }
    }
    phpchen
        6
    phpchen  
    OP
       2019-03-29 11:37:00 +08:00
    @lastpass 你这个是什么语言的啊,py 吗
    niknik
        7
    niknik  
       2019-03-29 11:39:54 +08:00
    lastpass
        8
    lastpass  
       2019-03-29 11:40:23 +08:00 via Android
    @phpchen scala
    ps:你这写的也太长了吧。
    shm7
        9
    shm7  
       2019-03-29 11:40:39 +08:00 via iPhone
    前两位机制
    solupro
        10
    solupro  
       2019-03-29 11:45:42 +08:00   ❤️ 1
    @phpchen #5 你写的看不懂呀

    for i := 1; i <= 3 ; i++ {
    for j := 1; j <= 3; j++ {
    for k := 1; k <= 3; k++ {
    println(k, j, i)
    }
    }
    }
    phpchen
        11
    phpchen  
    OP
       2019-03-29 11:47:02 +08:00
    @lastpass 我比较蠢。。。其实业务是一个树形的排序来的,我画了原型图,又写了 1 楼的那个排列出来,我才找出规律写出代码,实际是有 5 层的。。。
    Yyyye
        12
    Yyyye  
       2019-03-29 11:48:48 +08:00 via Android
    for 第二列集体加一加到三进位到第三列
    phpchen
        13
    phpchen  
    OP
       2019-03-29 11:49:16 +08:00
    @solupro 你这个肯定是错的。。
    1 1 1
    1 1 2
    1 1 3
    1 2 1
    1 2 2
    1 2 3
    1 3 1
    1 3 2
    1 3 3
    2 1 1
    2 1 2
    2 1 3
    2 2 1
    2 2 2
    2 2 3
    2 3 1
    2 3 2
    2 3 3
    3 1 1
    3 1 2
    3 1 3
    3 2 1
    3 2 2
    3 2 3
    3 3 1
    3 3 2
    3 3 3
    0ZXYDDu796nVCFxq
        14
    0ZXYDDu796nVCFxq  
       2019-03-29 11:53:25 +08:00 via Android
    这是 xx 语言课程 第二节课的课后作业?
    solupro
        15
    solupro  
       2019-03-29 11:55:09 +08:00
    @phpchen #13 ...我还特意每行对了一下,你看看你输出变量的顺序对不对
    zhujinliang
        16
    zhujinliang  
       2019-03-29 11:55:55 +08:00 via iPhone
    三进制
    azh7138m
        17
    azh7138m  
       2019-03-29 11:58:14 +08:00
    zhyl
        18
    zhyl  
       2019-03-29 12:06:52 +08:00 via Android
    竖着看。
    akira
        19
    akira  
       2019-03-29 16:21:21 +08:00
    @phpchen i,j,k 顺序换换就好了
    flyingghost
        20
    flyingghost  
       2019-03-29 17:01:02 +08:00
    3 进制,0、1、2 输出的时候转成 1、2、3。
    然后逆序,高位在后。
    zealot0630
        21
    zealot0630  
       2019-03-29 17:21:16 +08:00
    Stream.from(0).map(i => Iterator.iterate(i)(_ / 3).takeWhile(_ > 0).map(_ % 3).toList).takeWhile(_.length < 4).map(_.padTo(3,0).map(_ + 1).mkString(" ")).foreach(println)


    Scala 一行解
    fuchunliu
        22
    fuchunliu  
       2019-03-29 18:26:05 +08:00 via Android
    @phpchen 这么长😳😳
    zbinlin
        23
    zbinlin  
       2019-03-29 21:00:08 +08:00
    so easy la

    echo -n {1..3}{1..3}{1..3} | xargs -i -d\ echo {} | rev
    qwertyegg
        24
    qwertyegg  
       2019-03-29 21:13:38 +08:00
    全部数字减一之后就是一个反向的三进制递增
    pkookp8
        25
    pkookp8  
       2019-03-29 21:23:35 +08:00 via Android
    3 进制,基础数值+1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3544 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:50 · PVG 18:50 · LAX 02:50 · JFK 05:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.