Re: [問題] 如何實做一個不會重複的"六進位"?(完成)
我寫好了 囧
答案真的是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
11/11 20:58, 1F
→
11/11 21:50, , 2F
11/11 21:50, 2F
→
11/11 22:00, , 3F
11/11 22:00, 3F
→
11/11 22:00, , 4F
11/11 22:00, 4F
→
11/11 22:00, , 5F
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
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