Lisp
今リリカルLispをやっているのですが、
詰まってしまって答えがないので困っています。
問題は
(s n)を評価すると1+2+・・・+nが返るように関数をsiを定義する(ただしsは次のように定義されている define (s n) (si n 0) )
という問題です。
一応自分なりに考えたのが
(define si (lambda (n x) (if (= n 1) (x) (si (- n 1) (+ n x)))))
なんですが無限ループのようになるのかこれを実行すると固まって落ちてしまいます。
ご指摘よろしくお願いします。
No.2ベストアンサー
- 回答日時:
(define (s n) (si n 0))
(define (si n x)
(if (= n 0)
x
(si (- n 1) (+ n x))))
No.3
- 回答日時:
ああ, どうでもいい話だけど, この形だと Scheme ではないかな. Lisp の「方言」といえば方言だけど, いろいろと違うところがあるので「似てるけど違う言語」と思った方がいいかもね.
そして, Lisp と Scheme の決定的な違いにより Lisp では (期待した動作をしないという点では同じだけど) 単に「関数 x が定義されていない」で終わるだけのはず. よほど腐った処理系でない限り「固まって落ちる」ということはない.
No.1
- 回答日時:
(if (= n 1) (x) (si (- n 1) (+ n x)))
のところ, なんで (x) なの?
この回答への補足
回答ありがとうございます。確かにxじゃないですね。。
直してみて
(define si (lambda (n x) (if (= n 1) 1 (si (- n 1) (+ n x)))))
これでも間違いになるんですがもし分かればご指摘お願いします。]
ちなみに
(define si (lambda (n x) (if (= n 0) 0 (si (- n 1) (+ n x)))))
でも出来ませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) ZWCAD CUIXとLISPの関係について 1 2022/09/28 03:07
- 地球科学 端成分について 1 2022/10/11 18:37
- C言語・C++・C# C言語初心者です、、、お助けください 2 2023/03/14 20:08
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- フランス語 いろんな方のスラッシュリーディングが見たいです。 1 2023/01/16 06:07
- 日本語 用言の活用組織はいかにして生成したか:或る試論 1 2022/06/30 05:41
- JavaScript 最小二乗法 2 2023/01/01 20:57
- C言語・C++・C# C言語:数値の桁数指定についての質問です。 8 2022/05/26 23:53
- 大学・短大 電気電子の問題です。この問題が分からないので教えて頂きたいです 幅2mm、長さ5mm、厚さ0.2mm 1 2023/06/21 22:24
- 電気・ガス・水道 ガスコンロのsiセンサー 1 2022/04/28 09:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでパワーシェルを実行したい...
-
VBA 電話番号の正規表現について
-
vba クリップボードクリアにつ...
-
小学1年生の子です。塾に行かせ...
-
ImageMagickでgif画像の一部が...
-
楽しくて最高のプログラミング...
-
ホワイトハッカー
-
プログラミングのPythonのnoteb...
-
プログラミング ソースコード
-
プログラミング
-
Windowsのアプリ開発ってなんの...
-
ExcelVBAでFormulaR1C1を列範囲...
-
Google ColaboでGUI作成
-
Powershellとコマンドプロンプト
-
GoogleAppsScript文字列置換の...
-
プログラマーと学歴の関係性に...
-
Pythonって何を意識した言語な...
-
テキストファイルのファイル名...
-
プログラミング、アーキテクチ...
-
Webプログラムってネイティブア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
TextChangeイベントが発生しない
-
#define 文
-
ifdefとenum
-
LRESULTとHRESULT
-
fetchでreturnで戻り値
-
関数定義について質問です 架空...
-
PHP + MySQL で登録時に重複チ...
-
時間差を取得結果を求めるには
-
【javaScript】KeyboardEventで...
-
jQueryの関数内の変数について...
-
VBS 名前定義の確認→ありかなし...
-
JavaScriptの即時関数をアロー...
-
イベントリスナーの重複登録に...
-
PHP requireの後にJS実行
-
VB.NET の配列の要素数
-
python: 直角三角形の種類を求...
-
配列の要素番号を取得するには?
-
c++ cmathとmath.h
おすすめ情報