7-14文字列の最後から二番目のN

完全配列を増加小文字からなる文字列演算与え、シーケンス内の各列は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减去倒数的顺序就可以了,但是有一些计算问题,所以就直接先转换为正序来计算。

おすすめ

転載: www.cnblogs.com/mapone/p/11939262.html