Re: [問題] 如何實做一個不會重複的"六進位"?(完成)

看板C_and_CPP作者 (大笨羊)時間14年前 (2011/11/11 20:34), 編輯推噓0(0012)
留言12則, 5人參與, 最新討論串1/1
我寫好了 囧 答案真的是80個 @@ 我是不擇手段 用C#(因為我很懶..)寫的 非常土法煉鋼 大概就是先建立123456~654321間的數字陣列 逐一去刪減得到 1.首先先把數字轉成字串 再把字串轉成字元陣列 2.第二步是土法煉鋼先宣告6個count陣列...然後 如果是不可能的項目先解決 例如: if (c == '0') { number_collecter[i] = -1; } 給他負一是讓他成為不合格的目標 其他正確的則: if (c == 'n') { counts[n-1]++; } //n=1~5 然後檢查每個counts[i]是否大於1 有的話就是重複了 可以給他一個負一 3.把剛才的count拿出來用 for (int j = 123456; j < 654322; j++) { if (number_collecter[j] == -1) { continue } count_no++; } //count_no=720 4.我們現在已經得到不會重複的數字 終於離目標不遠了! 最後一步很簡單 temp是字元陣列 把剛才得到的數字先轉成字串 在分解成字元 if (temp[i] == 'n' || temp[i] == 'n+1' || temp[i+1] == 'n' || temp[i+1] == 'n+1') { number_collecter[i] = -1; count_no--; } //i=0~5 n=1~5 5.我完成了 \囧/ 原始碼(C#):http://nopaste.csie.org/2f255 所有正確答案:http://nopaste.csie.org/c7820 下台一鞠躬... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.228.221.15 ※ 編輯: wa007123456 來自: 125.228.221.15 (11/11 20:47)

11/11 20:58, , 1F
http://0rz.tw/fUdCv 其實還有很多不錯的方法。
11/11 20:58, 1F

11/11 21:50, , 2F
http://pastie.org/2847328 整齊美觀的做法 in C。
11/11 21:50, 2F

11/11 22:00, , 3F
bleed1979大你好 是否可以寄一封信到我的帳號裡面@@
11/11 22:00, 3F

11/11 22:00, , 4F
你的程式碼相當漂亮 但是我看不懂 囧
11/11 22:00, 4F

11/11 22:00, , 5F
你能夠解釋一下嗎@@ 我附1000P上
11/11 22:00, 5F

11/11 22:01, , 6F
然後我現在是高二生....所以不要用到太難的數學><
11/11 22:01, 6F

11/11 22:01, , 7F
謝謝你:)
11/11 22:01, 7F

11/11 22:10, , 8F
就我看來沒用到甚麼數學耶= =
11/11 22:10, 8F

11/12 01:58, , 9F
這就單純用FOR把所有可能建出來,不符合就去掉...
11/12 01:58, 9F

11/12 03:20, , 10F
結果他還是沒寄信/ \
11/12 03:20, 10F

11/12 16:16, , 11F
自己看就好了啊...
11/12 16:16, 11F

11/12 16:42, , 12F
應該是你寄信問他哪邊不懂...
11/12 16:42, 12F
文章代碼(AID): #1ElHPbft (C_and_CPP)