主題: C++一問
查看單個文章
舊 2004-05-24, 03:47 PM   #3 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9855小時 | 升級還需:141小時級別:97 | 在線時長:9855小時 | 升級還需:141小時級別:97 | 在線時長:9855小時 | 升級還需:141小時級別:97 | 在線時長:9855小時 | 升級還需:141小時級別:97 | 在線時長:9855小時 | 升級還需:141小時級別:97 | 在線時長:9855小時 | 升級還需:141小時級別:97 | 在線時長:9855小時 | 升級還需:141小時
註冊日期: 2002-12-07
文章: 13341
精華: 0
現金: 26444 金幣
資產: 3024304 金幣
預設

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

□□□=□*□□

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

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迴圈

程式就要你自己寫了 ^^||
說真的我也不知道正不正確
mini 目前離線  
送花文章: 2013, 收花文章: 8001 篇, 收花: 26805 次
回覆時引用此帖