完全配列を増加小文字からなる文字列演算与え、シーケンス内の各列は1の増分で、L aから出発して、Lに固定されています。
例えば、Lが3である場合、シーケンス{AAA、AAB、AAC、...、AAZ、ABA、ABB、...、ABZ、...、ZZZ}。最後から二番目の27文字列の順序はzyzです。
任意のLでは、この問題は、対応するN最後から二番目の列の文字列を与える必要があります。
入力フォーマット:
指定された入力行の2つの正の整数L(2 ≤L ≤6)及びN(≤)。
出力フォーマット:
行の最後から二番目のN列の出力配列に対応します。トピックは、この文字列が存在することを確認してください。
サンプル入力:
3 7417
出力例:
pat
代码:
書式#include <iostreamの>
書式#include <cmath>
名前空間stdを使用。
INTメイン(){
CHAR CH [8]。
整数N、M。
私は0を= int型。
CIN >> N >> M。
INT M = POW(26、N)-m。
一方、(N - ){
CH [I ++] = '+ M%26。
M / = 26。
}
(; J> = 0; j-- int型J = I-1)のための
coutの<< CH [J]。
0を返します。
}
//思路整理:本题要找到求每一位字母的规律,可以类比求一个十进制数每一位上的数字,如个位上可以取10的模,求十位时要先除以10然后去10的模,依次类推进行循环;本来题目要求的是倒数几位的字母,原来的思路是直接用z减去倒数的顺序就可以了,但是有一些计算问题,所以就直接先转换为正序来计算。