重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
給定一個(gè)完全由小寫英文字母組成的字符串等差遞增序列,該序列中的每個(gè)字符串的長度固定為 L,從 L 個(gè) a 開始,以 1 為步長遞增。例如當(dāng) L 為 3 時(shí),序列為 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。這個(gè)序列的倒數(shù)第27個(gè)字符串就是 zyz。對(duì)于任意給定的 L,本題要求你給出對(duì)應(yīng)序列倒數(shù)第 N 個(gè)字符串。
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比安源網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式安源網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋安源地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
輸入格式:
輸入在一行中給出兩個(gè)正整數(shù) L(2 ≤ L ≤ 6)和 N(≤\(10^5\))。
輸出格式:
在一行中輸出對(duì)應(yīng)序列倒數(shù)第 N 個(gè)字符串。題目保證這個(gè)字符串是存在的。
輸入樣例:
3 7417
結(jié)尾無空行
輸出樣例:
pat
結(jié)尾無空行
- \(a-z相隔26,aaa相當(dāng)于000,zzz相當(dāng)于999,即這些就相當(dāng)于是26進(jìn)制\)
- \(000 = 0\times 10^2 + 0\times10^1 +0\times10^0\)
\(999 = 9\times10^2 + 9\times10^1 +9\times10^0\)
\(總共有10^3項(xiàng)\)
- \(所以可以類比十進(jìn)制\)
\(000 = 0\times26^2 + 0\times26^1 +0\times26^0\)
\(= 25\times26^2 + 25\times26^1 +25\times26^0\)
\(總共有26^3項(xiàng)\)
4.\(算倒數(shù)多少項(xiàng)\)
\(比如:\)
\(0-9 : 倒數(shù)第二項(xiàng)是8 = 10-2;\)
\(1-10: 倒數(shù)第二項(xiàng)是9 = 10+1-2\)
一般進(jìn)制轉(zhuǎn)化是從\(0\)開始的,故從倒數(shù)第\(n\)項(xiàng) = 正數(shù)第 (總數(shù) - n)項(xiàng)
#include
using namespace std;
int main() {
int l,n;
cin >> l >> n;
n = pow(26,l) - n;
for(int i = 0 ; i < l ; i++) {
int r = pow(26,l-i-1);
int t = n/r;
n %= r;
cout<<(char)('a' + t);
}
return 0;
}
1.\(由于是字符型,整型需轉(zhuǎn)化為字符型\)
\(0-->'a' -->0+'a'\)
\(1-->'b'-->1+'a'\)
\(8-->'y' -->8+'a'\)
\(9-->'z'-->9+'a'\)
\(故式子為(char)(t+'a')\)
2.\(順序分解分解各個(gè)位數(shù)的數(shù)字\)
\(789:\)
\(7=789 \div10^2\)
\(89=789\)%\(10^2\)
\(8=89\div10\)
\(9 = 89\)%\(10\)
\(9 = 9\div1\)
所以代碼是:
for(int i = 0 ; i < l ; i++) {
int r = pow(10,l-i-1);
int t = n/r;
n %= r;
}
下面是倒序分解
while(n) {
int t = n%10;
n /= 10;
}