L1 050 倒數第N個字串 15分 詳解

2021-10-03 22:02:23 字數 1114 閱讀 8142

給定乙個完全由小寫英文本母組成的字串等差遞增序列,該序列中的每個字串的長度固定為 l,從 l 個 a 開始,以 1 為步長遞增。例如當 l 為 3 時,序列為 。這個序列的倒數第27個字串就是 zyz。對於任意給定的 l,本題要求你給出對應序列倒數第 n 個字串。

輸入格式:

輸入在一行中給出兩個正整數 l(2 ≤ l ≤ 6)和 n(≤10

​5​​ )。

輸出格式:

在一行中輸出對應序列倒數第 n 個字串。題目保證這個字串是存在的。

輸入樣例:

3 7417

輸出樣例:

pat

我要先吐槽一下,我剛開始的想法是把n除以pow(26,位數-1),得到chushu,然後再用』z』-chushu,就得到想要的各個字母了,但是奈何腦子轉不過來,還是用了網上的其他人的思路。就是進製來迴轉,下面我把思路介紹一下:

思路:

//26的l次方就是當取l時,l個字母組成的所有的個數,然後減去n,得到的數,就是我們要輸出的數對應的十進位制的位置,接著再轉換為26進製,就變成我們想要的字串了

#include

using namespace std;

intmain()

;char c;

int count =0;

cin>>l>>n;

int res =

pow(

26,l)

- n;

//位置

while

(l--

)//轉換l次,就可以從10進製轉換為16進製制,其他進製也是這個德行

//接著倒序輸出,就是正回來了

for(

int i=count-

1;i>=

0;i--

) cout<<

(c =

'a'+ index[i]);

return0;

}

L1 050 倒數第N個字串

題目描述 給定乙個完全由小寫英文本母組成的字串等差遞增序列,該序列中的每個字串的長度固定為 l,從 l 個 a 開始,以 1 為步長遞增。例如當 l 為 3 時,序列為 這個序列的倒數第27個字串就是 zyz。對於任意給定的 l,本題要求你給出對應序列倒數第 n 個字串。輸入 輸入在一行中給出兩個正...

L1 050 倒數第N個字串

給定乙個完全由小寫英文本母組成的字串等差遞增序列,該序列中的每個字串的長度固定為 l,從 l 個 a 開始,以 1 為步長遞增。例如當 l 為 3 時,序列為 這個序列的倒數第27個字串就是 zyz。對於任意給定的 l,本題要求你給出對應序列倒數第 n 個字串。輸入格式 輸入在一行中給出兩個正整數 ...

L1 050 倒數第N個字串

給定乙個完全由小寫英文本母組成的字串等差遞增序列,該序列中的每個字串的長度固定為 l,從 l 個 a 開始,以 1 為步長遞增。例如當 l 為 3 時,序列為 這個序列的倒數第27個字串就是 zyz。對於任意給定的 l,本題要求你給出對應序列倒數第 n 個字串。輸入格式 輸入在一行中給出兩個正整數 ...