日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PAT天梯赛 L1-050 倒数第N个字符串

發(fā)布時間:2025/6/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PAT天梯赛 L1-050 倒数第N个字符串 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目鏈接:點擊打開鏈接

給定一個完全由小寫英文字母組成的字符串等差遞增序列,該序列中的每個字符串的長度固定為 L,從 L 個 a 開始,以 1 為步長遞增。例如當(dāng) L 為 3 時,序列為 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。這個序列的倒數(shù)第27個字符串就是 zyz。對于任意給定的 L,本題要求你給出對應(yīng)序列倒數(shù)第 N 個字符串。

輸入格式:

輸入在一行中給出兩個正整數(shù) L(2 <= L <= 6)和 N(<= 105)。

輸出格式:

在一行中輸出對應(yīng)序列倒數(shù)第 N 個字符串。題目保證這個字符串是存在的。

輸入樣例:3 7417 輸出樣例:pat 思路:一直沒有思路。最后10分鐘用n對26取余的思路,得了9分。

附上9分代碼:#include<iostream> #include<algorithm> using namespace std;int main() {int l, num;int r;string temp;cin >> l >> num;while(num > 0) {r = num % 26;char c = 'z' - r;temp += c;num /= 26;}temp[0] = temp[0] + 1;reverse(temp.begin(), temp.end());cout << temp; }

后來看了網(wǎng)上的題解,其中一個比較好理解。
AC代碼://把倒著數(shù)轉(zhuǎn)化為正著數(shù)//也就是進(jìn)制問題 #include<iostream> using namespace std;char a[10];int f(int x) {//進(jìn)制int sum = 1;for(int i = 0; i < x; i ++) {sum *= 26;}return sum; } int main() {int l, n;cin >> l >> n;int l1 = f(l);int x = l1 - n;//得到正數(shù)第幾個int j = 0;for(int i = l -1; i >= 0; i--) {a[j] = x/f(i) + 'a';//依次得到所有的 除數(shù) + ‘a(chǎn)’x = x % f(i); //余數(shù)為新值j++;}for(int i = 0; i < l; i++) {cout << a[i];}return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/ACMerszl/p/9573008.html

總結(jié)

以上是生活随笔為你收集整理的PAT天梯赛 L1-050 倒数第N个字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。