原创 使用lisp實現SICP約束系統

問題引入 C++&C的代碼的執行都是由coder預先安排好的,程序的執行方向都是確定的。比如a=2*3,由2,3計算出a的值。 這篇文章討論的是這樣一種場景:給定一個約束條件,比如A*C=B*D,用戶給定任意給定三個值,我們可以根據等式計

原创 emacs在windows下的使用

1. windows8 64下亂碼問題     設置如下  (set-fontset-font "fontset-default" 'gb18030 '("Microsoft YaHei" . "unicode-bmp"))

原创 C# 讀書筆記

partial關鍵字允許把類、結構或接口放在多個文件中。一般情況下,一個類存儲在單個文件中。 但有時,多個開發人員需要訪問同一個類,或者某種類型的代

原创 迴文數、整數輸出,數字序列最小分割問題

判斷一個數字N是不是迴文數字      這裏介紹兩種方法,一、將數字逆序,N mod 10可以計算出最低位,除以      10可以去掉最末尾的數字,不斷這樣操作就可以得到N的一個逆轉序列,將      該序列重新變爲一個新的十進制數字,

原创 99道lisp練習題----(四)樹

Binary Trees A binary tree is either empty or it is composed of a root element and two successors, which are binary tre

原创 lisp自動遞歸(續)

樹的遍歷 (defvar *saved* nil) (=defun re-start () (if *saved* (funcall (pop *saved*)) (=values 'done))) (=

原创 99道lisp練習題----(二)數學

其他解法請參考: http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html Arithmet

原创 閉包實踐(一)------sicp圖形語言--picture

一、問題的定義和作用 1.定義:Peter J. Landin 在1964年將術語 閉包 定義爲一種包含 環境成分 和 控制成分的實體,用於在他的SECD 機器上對表達式求值。 2. 作用:通過構造出某種同類的東西,支持任意和無限次的

原创 閉包實踐(二)--函數複合

實踐一 語言:scheme lisp中每個函數形成了一個閉包,函數和函數複合形成了一個新的閉包,然後和其他的函數符合,可以組成更加複雜的閉包。 (define (compose f g) (lambda (x) (f (g

原创 on-lisp要點-----宏(二)

一、宏的引入 1.什麼時候需要宏,宏可以做什麼 優秀設計的一個通用原則就是:當你發現在程序中的幾處都出現了相似的代碼時,就應該寫一個子例程,並把那些相似的語句換成對這個子例程的調用,lisp中可以使用宏,爲我們創建上下文環境,或者利用宏

原创 字符串算法

給出一個句子,統計句子中有多少單詞 方法1:設計一個標誌變量inword表示是否在單詞中,如果inword從false變爲 true,表明遇到一個單詞,統計值count++,每當碰到一個單詞的字符,將 inword設置爲true,並且在設

原创 on-lisp要點(一)

chapter-2 1.symbol-value & symbol-function lisp中可以通過symbol-value, symbol-function從對應的symbol獲取變量值和函數值。 (defun double (x

原创 水滴、最大和子序列問題

水滴容納問題        給定數字串,比如2 1 3 4 5,每個數字表示木棍的長度,只考慮一維的        情況,假如空中有水滴不斷的落下,問木棍之間最多能容納多少水?        比如上面的1在2和3之間,所以能夠容納1滴水。

原创 序列最大和分割、最大距離、滑動窗口最大值問題

數字最大和分割問題       給出N個數字,將其分成M份,每一份的和是相等的,求和最大的分割,每        一份並不要求是原序列中連續的元素。        比如3 2 4 3 6,最大和的分割是3 2 4和3 6        假

原创 綜合問題

P90 (**) Eight queens problem(八皇后問題)This is a classical problem in computer science. The objective is to place eight qu