prolog 找路例子程序:
=== === === === === ===
Part 1-Adding connections
Part 2-Simple Path
example
| ?- path1(a,b,P,T).
will produce the response:
T = 15
P = [a,b] ?
Part 3 - Non-repeating path
As an example, the query:
?- path2(a,h,P,T).
will succeed and may produce the bindings:
P = [a,depot,b,d,e,f,h]
T = 155
Part 4 - Generating a path below a cost threshold
As an example, the query:
?- path_below_cost(a,[a,b,c,d,e,f,g,h],RS,300).
returns:
RS = [a,b,depot,c,d,e,g,f,h] ?
RS = [a,c,depot,b,d,e,g,f,h] ?
no
==================================
5 ledblink -- 跑馬燈程序
該項目在SDT2.51下編譯調試。最簡單的demo程序,運行后3個發光二極管輪流點亮。
6 timerint -- 定時器中斷demo程序
該項目在SDT2.51下編譯調試。將子目錄timerint拷貝到c:\ 下。
該demo程序的主程序是while空循環,定時器中斷服務程序每500ms將3個LED反相。
在57600超級終端里也可以看到中斷發生時的信息。
7 uart -- 串口測試程序
該項目在SDT2.51下編譯調試。運行后在57600的超級終端里等待PC鍵盤的輸入,當按下 a 或 b 或 c 按鍵時,超級終端里將顯示 You Pressed a ,You Pressed b ,You Pressed c .
數字運算,判斷一個數是否接近素數
A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a number in another base b, and a number in base b is a Niven number if the sum of its digits divides its value.
Given b (2 <= b <= 10) and a number in base b, determine whether it is a Niven number or not.
Input
Each line of input contains the base b, followed by a string of digits representing a positive integer in that base. There are no leading zeroes. The input is terminated by a line consisting of 0 alone.
Output
For each case, print "yes" on a line if the given number is a Niven number, and "no" otherwise.
Sample Input
10 111
2 110
10 123
6 1000
8 2314
0
Sample Output
yes
yes
no
yes
no