• 4C 2018 倒数的字符序列


    输入L,N 将长度为L的小写字符串序列,比如L=3,序列为aaa,aab,aac,...aba,...zzz,求倒数第N个字符串序列是什么.输入3 7421 得到pat

    第一感觉是A,B,C...,Z,AA,AB,AC,...ZZ,AAA,AAB......可以转换成“进制数”表示形式,由于一共26个英文字母,可以转换成26进制表示形式。转换成26进制形式后26进制数1对应A、2对应B....25对应Y,这样Z只能对应26进制数10。而十进制数27转换成26进制数为11即可对应成AA,十进制数52转换成26进制数为20对应为AZ。所有我们需要对能被26整除的正整数进行特殊处理。

    #include <bits/stdc++.h>
     
    using namespace std;
     
    int main()
    {
        //zzz zzy zzx ... zza ...zyz
        int L,n;
        int ans[11];
        cin>>L>>n;
         
        //3 7421(10进制下的)
        int i=L;
        n-=1;
        while(n)
        {
            ans[i--]=n%26;
            n/=26;
        }
        for(int i=1; i<=L; i++)
        {
            printf("%d ",ans[i]);
        }
        for(int i=1;i<=L;i++)
        {
            printf("%c",'z'-ans[i]);
        }
        printf("
    ");
     
        return 0;
    }
    View Code
  • 相关阅读:
    Oracle 数据库对象
    oracle基础知识
    中文乱码问题
    会话技术Cookie&Session
    HttpServletRequest请求
    JAVA基础之设置随机成语验证码
    HttpServletResponse响应
    Spring注解 AOP@Aspect
    Visual studio Code使用技巧
    缓存相关
  • 原文地址:https://www.cnblogs.com/Roni-i/p/8684434.html
Copyright © 2020-2023  润新知