【問題描述】小明用字母 a 對應數字 1, b 對應 2,以此類推,用 z 對應 26。對於 27以上的數字,小明用兩位或更長位的字串來對應,例如 aa 對應 27, ab 對應 28, az 對應 52, lq 對應 329。請問 2019 對應的字串是什麼?
思考過程:
woc,剛開始把a-1,b-2,……,z-26這個對映前移
a-0,b-1,……,z-25
題目的2019,按照新對映應該是2018
然後用了普通n進製和十進位制的轉化
stack<
int> s;
while
(num)
然後我發現,上面的**在進製的時候是進1。
而題目的要求應該是進0。
沒辦法,只能想乙個進0的思路。
因為對映前移比較麻煩,所以我就不想這麼做了。
然後我就在想aa-27,是怎麼進製的。
沒想出來,氣的老子直接暴力列舉
for
(int i =
0; i <=
26; i++
)for
(int j =
0; j <=
26; j++
)for
(int k =
0; k <=
26; k++
)}
之後我又想了想其實不用這麼列舉
2019 用三個字母就行
所以
int arr[5]
;arr[i]
= num /(26
*26);
num %(26
*26);
i++;
arr[i]
= num /26;
num %26;
i++;
arr[i]
= num;
這裡給乙份其他人的**,在num == 26時會有錯誤,我不知道怎麼去修改
具體的思路:應該和上面的**(沒有迴圈的那個)一樣的思路
把這個數分解,每一位用相應的 字母表示就行
比如 2019 = 2 * (26 * 26) + 25 * 26 + 17;
int num, i =0;
while
(cin >> num)
for(i = i -
1; i >=
0; i--
) cout << res[i]
; cout << endl;
}
C 小結 選擇題
1.二叉樹 前序排列 a b d e c f 根結點 左子樹 右子樹 中序排列 d b e a c f 左 根 右 後序排列 d e b f c a 左 右 根 2.排序 長度為n的線性表,最壞情況下,氣泡排序 n n 1 2 簡單插入排序 n n 1 2 希爾排序 o n15 堆排序 o nlog...
C 常見選擇題
1.在array類中,可以對一維陣列中的元素進行排序的方法是。a.sort b.clear c.copy d.reverse 2.將變數從字串型別轉換為數值型別可以使用的型別轉換方法是。a.str b.cchar c.cstr d.int.parse 3.用於資料型別轉換的類是。a.mod b.co...
微機選擇題複習 2
1 一般,微機系統硬體由 部分組成,包括 a a cpu 儲存器 i o裝置和介面電路 b 儲存器,控制器和顯示器 c 運算器和顯示器 d 儲存器,運算器,顯示器和鍵盤 2 80x86微機系統有三條匯流排,它們是 a a.位址匯流排 資料匯流排和控制匯流排 b.位址匯流排 資訊匯流排和儲存器匯流排 ...