cryptarithmetic-puzzle

    0熱度

    1回答

    我正在學習Prolog。我正在做一項任務。我已經制作了一些代碼,這部分代碼是部分工作的。但是,不知何故,它給出了多個重複的答案。 的問題是: % Every letter represents a Digit (0,...,9). % Leading digits (S and M) can not be 0. % S E N D % + M O R E % --------- % M

    0熱度

    1回答

    我想我的prolog代碼可以用於這個乘法問題,但它返回false。我錯過了什麼嗎? solve(T,W,O,S,I,X,E,L,V) :- X = [T,W,O,S,I,X,E,L,V], Digits = [0,1,2,3,4,5,6,7,8,9], assign_digits(X, Digits), T > 0, S > 0,

    -1熱度

    1回答

    因此,我設法爲Prolog編寫了SEND + MORE = MONEY程序,並且在標記結果時遇到了麻煩。任何想法如何做到這一點?我一直使用標籤功能,但它仍然無法正常工作。我迷失在這裏。 :- lib(ic). puzzle(List) :- List = [S, E, N, D, M, O, R, Y], List :: 0..9, diff_list(List)

    1熱度

    1回答

    我在ECLiPSe下有我的CSP問題。我希望通過2 [eclipse 11]: test(Xs). instantiation fault in (_268{[1..4]}*100 + _200{[0..9]}*10 + _302{[0..9]}*1) mod 2#=0 Abort 感謝您的幫助,以添加約束到我的密碼這需要由兩個代表的數整除。 我的代碼: /* T W O

    0熱度

    2回答

    編輯:我得到了我的程序現在工作,但仍需要一些澄清的「其他如果(400 * T + 40 * O + 4 * O == 1000 * G + 100 * O + 10 * O + D)「是解決這個難題的關鍵。我只是想完全理解程序的每一點,謝謝。 這僅用於審查目的,我花了幾個小時試圖弄清楚。我要麼爲變量獲得全零,要麼是無限循環。這是一個問題,因爲它寫在書中: 「在cryptarithmetic puz

    0熱度

    1回答

    我參加了一門編程課程,教授只是因爲時間不夠而輕率地瀏覽Prolog。無論如何,他建議我們自己研究一下。我遇到了一個應該計算的密碼算法程序? AM + PM = DAY。我不知道應該在SWI解釋器中添加什麼作爲輸入,以及應該如何接收正確的輸出......如果這有什麼意義? 我想... solve([AM],[PM],[DAY]). ,什麼也不做。對於AM + PM = DAY或類似的東西,正確的

    0熱度

    1回答

    我想解決這個加密算法難題TWO + TWO = FOUR,我用了一個原始的蠻力,但我無法弄清楚我犯的錯誤。這裏的想法是,它試圖從0到10的所有可能的數字組合,並且所有分配給字符的數字必須是不同的。根據定義 cryptarithmetic puzzle是一種數學遊戲,其中一些數字的數字由字母(或符號)表示。每個字母 代表一個唯一的數字。我們的目標是找到這樣一個 給數學等式驗證數字: 在這種情況下:

    0熱度

    2回答

    因此就出現了一個難題: 這個方程是不完整的:1 2 3 4 5 6 7 8 9 = 100.一個方法,使 它準確的是通過添加七個加號和減號,如下所示:1 + 2 + 3 - 4 + 5 + 6 + 78 + 9 = 100. 如何使用只有3加號或減號? 我是很新的序言,解決了這個難題,但我不知道如何去優化它 makeInt(S,F,FinInt):- getInt(S,F,0,FinIn

    6熱度

    3回答

    我正在計劃一個C++程序,它需要3個代表加密算法難題的字符串。例如,假定二,二,四,程序會發現每個字母數字替代,使得數學表達式 TWO + TWO ------ FOUR 是真實的,與輸入假設爲右對齊。一種解決這個問題的方法當然是強制它,用嵌套循環爲每個字母分配每個可能的替換,重複嘗試總和等,直到最終找到答案。 我的想法是,雖然這是非常低效的,但底層的循環檢查可能是一種可行的(或

    0熱度

    1回答

    我被這個問題聲明卡住了,我的代碼確實有效,但我使用了排列,這使得它非常緩慢,而且,我不知道如何使它對所有或任何輸入。我認爲我必須使用回溯,但我不使用如何在這裏使用它。 歡迎任何有價值的建議或建議或代碼。是的,這是一個任務,我不是要求完整的代碼。謝謝! 這裏是問題陳述: 替代不同數字(0,1,2,...,9),用於下面不同的字母,從而使相應的加成是正確的,並且將所得的MONEY值作爲大盡可能。什麼是