1

私は、Coursera コースFunctional Programming Principles in Scala を受講しながら Scala を学んでいます。

最初の演習では、次のように述べています。

    1
   1 1
  1 2 1
 1 3 3 1
1 4 6 4 1

三角形の端にある数字はすべて 1 で、三角形の内側の各数字は、その上の 2 つの数字の合計です。パスカルの三角形の要素を再帰的に計算する関数を書きなさい。

Main.scala にパスカル関数を実装して、この演習を行います。この関数は、0 から数えて列 c と行 r を取り、三角形のその場所の数値を返します。たとえば、pascal(0,2)=1、pascal(1,2)=2、pascal(1,3)=3 です。

最初は、彼が私たち全員がよく知っている「数」について言及していることを理解していますが、その後、彼は「要素」という用語を使用し続けます。これはどういう意味ですか?彼は私に何を計算させたいのですか?

彼は「数」という言葉に飽きたのだろうと思い、三角形の数の名前を「数」と定義した後、何か新しいもの、つまり「要素」を使いたかっただけだと思いましたが、いくら数えても数えられません。参照を機能させる。

数字が互いに垂直に並んでいないため、「列」という用語を実際に理解することさえできません。

彼がどうやって を手に入れたのか説明してもらえpascal(1,3) == 3ますか?

4

4 に答える 4

3

列について少し間違っていると考えています。「x 列」とは、「特定の行の x 番目のエントリ」を意味します。

したがって、関数 を見ている場合pascal(c,r)は、r 番目の行にある c 番目の数値を把握する必要があります。

たとえば、次のようになります。

pascal(1,2)3 行目の 2 番目のエントリに対応します

      1
    1   1
  1  *2*  1

pascal(1,3)4 行目の 2 番目のエントリを見てほしい。

       1
     1   1
   1   2   1
 1  *3*  3   1
于 2013-02-15T22:30:12.390 に答える
2

三角形を「長方形」にするだけで、すべてが明らかになります。

cols-> 0 1 2 3 4

row-0  1
row-1  1 1
row-2  1 2 1
row-3  1 3 3 1
row-4  1 4 6 4 1

微妙な違いはありますが、この場合は実質的ではありませんが、三角形の「要素」は数字で構成されているという点であなたは正しかったです。

PS私は個人的にそのような質問のためにコースフォーラムを好むようにアドバイスします:

  1. 倫理規定に関する物議を醸す問題を回避します。
  2. あなたのコースフェローは、目前の問題をより早く理解するでしょう
  3. コースを受講していない人は利用できない資料にアクセスできます
  4. それは、コースの学生の間でメンバーシップの感覚を構築するのに役立ち、あなたに新しい、おそらく実り多い、反発を生み出す機会をすべて与えます
于 2013-02-16T09:37:28.917 に答える
2

左から数えるだけ。(0,2) は行の左端の数字です

1 2 1

したがって、(1,3) は の 2 番目の数値になります。

1 3 3 1

于 2013-02-15T22:20:00.890 に答える
0

あなたが求めているのは、Coursera 名誉規定に反するものです: https://www.coursera.org/maestro/auth/normal/tos.php#honorcode http://www.aiqus.com/questions/41299/coursera-cheating -スカラコース

于 2013-02-15T22:19:14.780 に答える