史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   軟體應用問題討論區 (http://forum.slime.com.tw/f5.html)
-   -   C++一問 (http://forum.slime.com.tw/thread110489.html)

黑鷹老弟 2004-05-24 12:09 PM

C++一問
 
找出□□*□=□□□=□*□□之值,其中□為1~9之值

老師告訴我要用9個FOR迴圈...

有大大能幫幫忙嗎 感激:(

plunderer 2004-05-24 12:16 PM

去這裡看看, 或進論壇問
http://www.vckbase.com/
很不錯的VC知識網站, 簡体中文

mini 2004-05-24 03:47 PM

是要設計
□□*□=□□□

□□□=□*□□

的"所有可能組合" 之顯示功能嗎?

9個FOR迴圈 好耐人尋味的說法 ^^

□□ 有 11~99 之範圍值,但要跳過 10、20、30、40、50、60、70、80、90
□ 有 1~9 之範圍值
□□□ 有 111~999 之範圍值,但要跳過 110、120...

要避免 □ 出現 0 應該是設計重點
個位數 □ 判斷還算簡單
但 □□ 或 □□□ 的判斷避免出現 0,就有點技巧了

如果是我由於不在行數學
我會將 □ 轉換成 字元串(也就是字串) 這樣找 '0' 字元就簡單多了
只要答案不出現 '0' 就 Print 出來

□□*□=□□□ 用了兩個 FOR迴圈
□□□=□*□□ 也用了兩個 FOR迴圈

****所以得到結論不行用以上方法 ^^||****
應該是
設計一基本 1~9 的FOR迴圈
兩位數的話(□□) 就用 (一個1~9 的FOR迴圈) + (1~9 的FOR迴圈 x 10)
來達成 11~99 不出現(10、20、30、40、50、60、70、80、90)之要求
三位數的話(□□□) 就用 (一個1~9 的FOR迴圈) + (1~9 的FOR迴圈 x 10) + (1~9 的FOR迴圈 x 100) 來達成

所以
□□*□=□□□ 用了三個 FOR迴圈
□□□ / □ = □□ 加 □□□ / □□ = □ 用了六個 FOR迴圈
P.S. □□□ 基本用了 三個,而□□□的組合又分別除以 □ 多了一個,除以 □□ 多了 兩個,所以總共六個 FOR迴圈

程式就要你自己寫了 ^^||
說真的我也不知道正不正確

黑鷹老弟 2004-05-24 06:04 PM

謝謝2位
我再TRY TRY 看囉
到時再分享解答

hwj_c 2004-05-24 10:39 PM

其實...若要真的用9個FOR

就像上面大大說的

由00*0=000=0*01
一直到
99*9=999=9*99
當然應該沒跑這麼多
然後....再利用CHAR轉INT
來做運算
像上面大大說的

拆成兩個式子00*0=000
000=0*00
如果條件成立就用個陣列記錄下來

最後
比對陣列的9個數子
是否都不相同

就可找出0-9符合的運算式了

這是個人淺見,參考用
如有不對...請糾正之!

黑鷹老弟 2004-05-24 10:50 PM

還是多謝大大^^
班上沒人寫出來...
看老師有怎樣精闢的解答囉

snoopy 2004-05-24 10:54 PM

引用:

原文由 黑鷹老弟 所發表
還是多謝大大^^
班上沒人寫出來...
看老師有怎樣精闢的解答囉

我蠻想幫你寫的

不過最近期末考要到了

除非你願意等一等 而且題意請在說明清楚一點

indark 2004-05-25 04:44 AM

是你先算 x * xx = xxx
在列出 xxx = x * xx 的可能值嗎??

還是由使用者 輸入 xxx
然後列出 xxx = x * xx 的值嗎??

要哪一種啊, 是都沒差就是了

不過一定要用 9 個 loop 嗎??


所有時間均為台北時間。現在的時間是 04:12 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1