【问题标题】:Finding the diagonals of square matrix made from lists查找由列表组成的方阵的对角线
【发布时间】:2015-10-27 12:01:30
【问题描述】:

我目前正在尝试定义一个函数,该函数采用列表列表、模型列表作为方阵并返回所述矩阵的对角线。

例如,输入((a b c) (d e f) (g h i)) 给出(a e i)

我对如何解决这个问题有一个模糊的想法(取最后一个列表的最后一个元素,然后是倒数第二个列表的倒数第二个元素等),但我不确定如何去做在 Scheme 中编程。

如果有人能指出我正确的方向,我将不胜感激。

谢谢。

【问题讨论】:

    标签: recursion matrix scheme lisp


    【解决方案1】:

    (向Nethack粉丝道歉)

    当你从祭坛上退下来时,你会发现地板上放着一张小纸片,你可以从中破译以下文字:

    0> Calling (DIAG ((A B C) (D E F) (G H I))) 
     1> Calling (DIAG ((E F) (H I))) 
      2> Calling (DIAG ((I))) 
       3> Calling (DIAG NIL) 
       <3 DIAG returned NIL
      <2 DIAG returned (I)
     <1 DIAG returned (E I)
    <0 DIAG returned (A E I)
    

    这看起来不错,但是当您开始大声阅读卷轴时,您会闻到附近有一股难闻的垃圾气味。 在你的变形魔杖的帮助下,你摧毁了被诅咒的物体。 前面的文字消失了,又出现了一个:

    0> Calling (DIAG ((A B C) (D E F) (G H I))) 
     1> Calling (DIAG% ((A B C) (D E F) (G H I)) 0) 
      2> Calling (DIAG% ((D E F) (G H I)) 1) 
       3> Calling (DIAG% ((G H I)) 2) 
        4> Calling (DIAG% NIL 3) 
        <4 DIAG% returned NIL
       <3 DIAG% returned (I)
      <2 DIAG% returned (E I)
     <1 DIAG% returned (A E I)
    <0 DIAG returned (A E I)
    

    你周围有一片明亮的田野!

    【讨论】:

    • 这是我见过的家庭作业问题的最佳答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 2021-09-09
    • 2016-07-02
    相关资源
    最近更新 更多