找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
尊貴會員無限使用任何功能尊貴會員無限觀看附件圖片儲值後自動升級用戶組
mgrioncosplayfc2siro中文高中
sone682霞之俠俠戰極姬傲慢的怪わんだふ我的模擬流出

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[簡]假面騎士GOTCHARD

(4月新番)[繁]怪獸八

(4月新番)[繁]戰隊大

[繁]迷宮飯12~15-

[繁]戰隊大失格02-

(4月新番)[繁]夜櫻家
電腦新資訊電腦軟體討論電腦軟體資訊分享電腦硬體討論電腦硬體資訊分享電腦萌化版電腦系統 OS 討論電腦程式設計
電腦設計技術交流圖像設計及交流各類下載工具教學寬頻上網討論
查看: 35995|回復: 18
打印上一主題下一主題

[問題]請教一下四則運算的邏輯思路?[複製鏈接]

帖子
38
積分
5 點
潛水值
1313 米
跳轉到指定樓層
樓主
發表於 2020-3-3 06:42 AM|只看該作者|正序瀏覽
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
?+?-?+?=8   ?+?*?-?=6  ?有3或4個 然後做加減乘除之後等式成立
?只能填1-9且不能重複
以上面例子 我輸入=8   =6
程式運算後自動給出?的數字 所有組合  
2+9-4+1=8   1+4*2-3=6
9+2-4+1=8   3+2*4-5=6
7+4-5+2=8   1+3*4-7=6
:                    :
:                    :
...
瀏覽完整內容,請先 註冊登入會員
分享分享0收藏收藏0支持支持0
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
155
積分
1287 點
潛水值
47865 米
19
發表於 2020-3-10 12:37 PM|只看該作者
gonewang123 發表於 2020-3-10 09:29 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

Hi :

真是謝謝大大,辛苦了。

我去看了解答後,我想這樣回答
小小小坐在D,把D放在C上,把C放在B上,把B放在A上。1分鐘就能過河...
瀏覽完整內容,請先 註冊登入會員
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

帖子
64
積分
-214 點
潛水值
1760 米
18
發表於 2020-3-10 09:29 AM|只看該作者
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
Hi :

真是謝謝大大,辛苦了。

小小發現這幾天沒什麼新po。
突然想到小小小碰到的一個數學問題。他是這樣寫的:

"小小小"牽 A,B,C,D 四頭牛,從甲地出發過河到乙地。
A 過河需要花1分鐘
B 過河需要花2分鐘
C 過河需要花5分鐘
D 過河需要花6分鐘

每次過河最多只能兩頭牛一起過去,"小小小"需要坐在牛背上一起牽牛。
...
瀏覽完整內容,請先 註冊登入會員
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
155
積分
1287 點
潛水值
47865 米
17
發表於 2020-3-6 12:05 PM|只看該作者
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
本帖最後由 tryit244178 於 2020-3-6 12:59 PM 編輯

搞懂了10樓,順便把11樓也弄了。效率差真多

大大這種程度,圖書館的書應該沒辦法滿足你…
  1. <!doctype html>

  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Test</title>
  6. <script>
  7. var VVV = 8;
  8. function test1()
  9. {
  10.   let result = "";
  11.   let count = 0;

  12.   for (let i=1; i<10; i++) {
  13.     for (let j=1; j<10; j++) {
  14.       if (j===i)
  15.         continue;

  16.       for (let k=1; k<10; k++) {
  17.         if (i===k || j===k)
  18.           continue;

  19.         for (let l=1; l<10; l++) {
  20.           count++;
  21.           if (i===l || j===l || k===l)
  22.             continue;

  23.           if (i+j-k+l===VVV)
  24.             result += i + "+" + j + "-" + k + "+" + l + "\n";
  25.         }
  26.       }
  27.     }
  28.   }

  29.   result += "迴圈次數:" + count;
  30.   document.getElementById("result1").value = result;
  31. }

  32. function test2()
  33. {
  34.   let result =  "";
  35.   let count = 0;
  36.   let right_val = 0;

  37.   for (let i=1; i<10; i++) {
  38.     right_val = VVV + i;

  39.     for (let j=1; j<10; j++) {
  40.       if (j > right_val || j==i)
  41.         continue;

  42.       for (let k=1; k<10; k++) {
  43.         if (k==i || k===j || ( (j+k) > right_val) )
  44.           continue;

  45.         for (let l=1; l<10; l++) {
  46.           count++;
  47.           if ( l==i || l===j || l===k || ( (j+k+l) > right_val) )
  48.             continue;

  49.           if (k+j+l === right_val)
  50.             result += k + "+" + j + "-" + i + "+" + l + "\n";
  51.         }
  52.       }
  53.     }
  54.   }

  55.   result += "迴圈次數:" + count;
  56.   document.getElementById("result2").value = result;
  57. }

  58. function test3()
  59. {
  60.   let result =  "";
  61.   let count = 0;
  62.   let right_val = 0;

  63.   for (let i=1; i<10; i++) {
  64.     right_val = VVV + i;

  65.     for (let j=1; j<10; j++) {
  66.       if (j > right_val)
  67.         break;
  68.       if (j===i)
  69.         continue;

  70.       for (let k=1; k<10; k++) {
  71.         if ((j+k) > right_val)
  72.           break;
  73.         if (k==i || k===j)
  74.           continue;

  75.         for (let l=1; l<10; l++) {
  76.           count++;
  77.           if ((j+k+l) > right_val)
  78.             break;
  79.           if ( l==i || l===j || l===k)
  80.             continue;

  81.           if (k+j+l === right_val)
  82.             result += k + "+" + j + "-" + i + "+" + l + "\n";
  83.         }
  84.       }
  85.     }
  86.   }

  87.   result += "迴圈次數:" + count;
  88.   document.getElementById("result3").value = result;
  89. }

  90. function test4()
  91. {
  92.   let result =  "";
  93.   let count = 0;
  94.   let right_val = 0;

  95.   for (let i=1; i<10; i++) {
  96.     right_val = VVV + i;

  97.     for (let j=1; j<10; j++) {
  98.       if (j > right_val)
  99.         break;
  100.       if (j===i)
  101.         continue;

  102.       for (let k=1; k<10; k++) {
  103.         count++;

  104.         if (k==i || k===j)
  105.           continue;

  106.         let tmpK = right_val-j-k;
  107.         if (tmpK===i || tmpK===j || tmpK===k || tmpK<1 || tmpK>9)
  108.           continue;

  109.         result += j + "+" + k + "-" + i + "+" + tmpK + "\n";
  110.       }
  111.     }
  112.   }

  113.   result += "迴圈次數:" + count;
  114.   document.getElementById("result4").value = result;
  115. }

  116. function test()
  117. {
  118.   test1();
  119.   test2();
  120.   test3();
  121.   test4();
  122. }
  123. </script>
  124. </head>
  125. <body>
  126. <button onclick="test()">Test</button><br />
  127. <textarea cols="10" rows="30" id="result1" spellcheck="false"></textarea>
  128. <textarea cols="10" rows="30" id="result2" spellcheck="false"></textarea>
  129. <textarea cols="10" rows="30" id="result3" spellcheck="false"></textarea>
  130. <textarea cols="10" rows="30" id="result4" spellcheck="false"></textarea>
  131. </body>
  132. </html>
複製代碼


...
瀏覽完整內容,請先 註冊登入會員

點評

tryit244178 一編輯,整個格式都跑掉…真是玩死我了  發表於 2020-3-6 12:17 PM
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

帖子
64
積分
-214 點
潛水值
1760 米
16
發表於 2020-3-6 08:42 AM|只看該作者
Hello :

不好意思。我剛剛查一下 continue & break 在 Javascript 的差別。
一個是跳出迴圈(break),一個是省略當次(i),繼續執行下次(i+1)

所以,其實code 可以再更效率化。
我想增加效率應該是可以再改進,只是看是不是要投資時間在上面而已。
  1. <!doctype html>

  2. <html>
  3. <head>
  4. <meta charset="BIG5">
  5. <title>Test</title>
  6. <script>
  7. function test1()
  8. {
  9.   let result = "";
  10.   let count = 0;

  11.   for (let i=1; i<10; i++) {
  12.     for (let j=1; j<10; j++) {
  13.       if (j===i)
  14.         continue;

  15.       for (let k=1; k<10; k++) {
  16.         if (i===k || j===k)
  17.           continue;

  18.         for (let l=1; l<10; l++) {
  19.           count++;
  20.           if (i===l || j===l || k===l)
  21.             continue;

  22.           if (i+j-k+l===8)
  23.             result += i + "+" + j + "-" + k + "+" + l + "\n";
  24.         }
  25.       }
  26.     }
  27.   }

  28.   result += "迴圈次數:" + count;
  29.   document.getElementById("result1").value = result;
  30. }

  31. function test2()
  32. {
  33.   let result =  "";
  34.   let count = 0;
  35.   let right_val = 0;

  36.   for (let i=1; i<10; i++) {
  37.     right_val = 8 + i;
  38.     for (let j=1; j<10; j++) {
  39.           if(j+2 > right_val ) break;
  40.       if (j==i)
  41.         continue;

  42.       for (let k=1; k<10; k++) {
  43.             if(j+k+1 > right_val ) break;
  44.         if (k==i || k===j )
  45.           continue;

  46.         for (let l=1; l<10; l++) {
  47.           count++;
  48.                   if(j+k+l > right_val ) break;
  49.           if ( l==i || l===j || l===k)
  50.             continue;

  51.           if (k+j+l === right_val)
  52.             result += k + "+" + j + "-" + i + "+" + l + "\n";
  53.         }
  54.       }
  55.     }
  56.   }

  57.   result += "迴圈次數:" + count;
  58.   document.getElementById("result2").value = result;
  59. }

  60. function test()
  61. {
  62.   test1();
  63.   test2();
  64. }
  65. </script>
  66. </head>
  67. <body>
  68. <button onclick="test()">Test</button></br>
  69. <textarea cols="10" rows="30" id="result1" spellcheck="false"></textarea>
  70. <textarea cols="10" rows="30" id="result2" spellcheck="false"></textarea>
  71. </body>
  72. </html>
複製代碼
...
瀏覽完整內容,請先 註冊登入會員





使用道具檢舉

帖子
64
積分
-214 點
潛水值
1760 米
15
發表於 2020-3-5 10:00 PM|只看該作者
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
tryit244178 發表於 2020-3-5 09:28 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

應該有吧。大大你可以去圖書館找看看

關於你10樓的回答,我看了後有二項疑問

Hi :

你的點子不錯耶,用 Javascript 就可以初步驗證。
...
瀏覽完整內容,請先 註冊登入會員

點評

tryit244178 兩條斜線n  發表於 2020-3-5 10:32 PM
tryit244178 換行的斜線n,打兩條斜線就行了  發表於 2020-3-5 10:30 PM
tryit244178 啊…這樣看就懂了,原來你的大於是那個意思!真是不錯  發表於 2020-3-5 10:29 PM
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
155
積分
1287 點
潛水值
47865 米
14
發表於 2020-3-5 09:28 PM|只看該作者
本帖最後由 tryit244178 於 2020-3-5 09:46 PM 編輯
gonewang123 發表於 2020-3-5 03:19 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

Hello :

感謝大大的支持,很有用的連結資源喔。
...
瀏覽完整內容,請先 註冊登入會員

點評

tryit244178 原來有支援逸出字元…  發表於 2020-3-5 09:35 PM
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php

使用道具檢舉

帖子
64
積分
-214 點
潛水值
1760 米
13
發表於 2020-3-5 03:19 PM|只看該作者
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。
Hello :

感謝大大的支持,很有用的連結資源喔。
因為"小小"->我非資訊類科班,想請問是否有這種探討解問題方式的"演算法"的相關書籍可以參考?
類似網頁當中的"8皇后"問題。。。

小小感恩。。。
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
155
積分
1287 點
潛水值
47865 米
12
發表於 2020-3-5 08:33 AM|只看該作者
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
本帖最後由 tryit244178 於 2020-3-5 08:39 AM 編輯

2樓大大的方法不就可以了。要效率的話,也許可以參考Backtracking
下載: 訪客無法瀏覽下載點,請先 註冊登入會員


所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

帖子
64
積分
-214 點
潛水值
1760 米
11
發表於 2020-3-4 03:06 PM|只看該作者
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
另一個更有效率的方式。
我想到就是用 recursive 的方式。
依上述,也是將四個變數命名為: x1, x2, x3, x4
依照輸入:8,右邊整理成 8+x3

然後撰寫一個 recursion,目的是將一個數字依序拆成兩個數字
依照這個recursion,可以將,譬如:x3=1,右邊是 9
x1, x2, x4 當作三個空格:
sep(9) -> x1 = 1, x2 = 8 ,
但是因為 x4 = empty, 所以繼續 sep(x2) 就是 sep(8) -> x2 = 1, x4 = 7
...
瀏覽完整內容,請先 註冊登入會員





使用道具檢舉

帖子
64
積分
-214 點
潛水值
1760 米
10
發表於 2020-3-4 01:33 PM|只看該作者
Well...

我想到另一個也許會比較有效率的方式。
你可以將方程式稍作整理。
譬如:
?+?-?+?=8 ,當中應該會先宣告 x1, x2, x3, x4 當作裡面的 "?" (各自依照順序)
其中 x3 (左數到右第三個),是屬於 "負",將他移到右邊(國中數學)
會變成, x1 + x2 + x4 = "8" + x3
當中的 "8",是一開始就指定的。
然後跑回圈。。。
...
瀏覽完整內容,請先 註冊登入會員
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

帖子
38
積分
5 點
潛水值
1313 米
9
發表於 2020-3-4 11:17 AM|只看該作者
gonewang123 發表於 2020-3-4 09:22 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

其實,我有點憂心。。。
我在想,在這邊我是不是忘記放個"0"在迴圈當中。
數字有可能是"0"嗎?

...
瀏覽完整內容,請先 註冊登入會員
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php

使用道具檢舉

帖子
64
積分
-214 點
潛水值
1760 米
8
發表於 2020-3-4 09:22 AM|只看該作者
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。
其實,我有點憂心。。。
我在想,在這邊我是不是忘記放個"0"在迴圈當中。
數字有可能是"0"嗎?
你的問題允許出現"0" ?

確認一下。
thank you

使用道具檢舉

帖子
64
積分
-214 點
潛水值
1760 米
7
發表於 2020-3-4 08:58 AM|只看該作者
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。
lonercity 發表於 2020-3-4 07:02 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

以我舉的例子 式一 不可能只一組 解 我KEY的就三組了 式二也是還有 1-9是? 你只能輸入答案  就是=後面的數 ...

Hi :
...
瀏覽完整內容,請先 註冊登入會員
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

帖子
38
積分
5 點
潛水值
1313 米
6
發表於 2020-3-4 07:13 AM|只看該作者
stephenwei_lu 發表於 2020-3-3 11:30 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

我的想法也沒什麼思考.

scanf 讀幾個 運算單元 X

我的想法也是 四則運算優先權先寫好。
求解的話 我是會用反向運算
...
瀏覽完整內容,請先 註冊登入會員





若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部