一. 题目描述

给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。

输入格式:

输入在一行中给出两个正整数 L(2 ≤ L ≤ 6)和 N(≤\(10^5\))。

输出格式:

在一行中输出对应序列倒数第 N 个字符串。题目保证这个字符串是存在的。

输入样例:

 3 7417
结尾无空行

输出样例:

 pat
结尾无空行

二.问题分析

  1. \(a-z相隔26,aaa相当于000,zzz相当于999,即这些就相当于是26进制\)
  2. \(000 = 0*10^2 + 0*10^1 +0*10^0\)

    \(..................................................\)

    \(999 = 9*10^2 + 9*10^1 +9*10^0\)

    \(总共有10^3项\)
  3. \(所以可以类比十进制\)

    \(000 = 0*26^2 + 0*26^1 +0*26^0\)

    \(..................................................\)

    \(252525= 25*26^2 + 25*26^1 +25*26^0\)

    \(总共有26^3项\)

    4.\(算倒数多少项\)

    \(比如:\)

    \(0-9 : 倒数第二项是8 = 10-2;\)

    \(1-10: 倒数第二项是9 = 10+1-2\)

    一般进制转化是从\(0\)开始的,故从倒数第\(n\)项 = 正数第 (总数 - n)项

三.代码

#include<bits/stdc++.h>
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.\(由于是字符型,整型需转化为字符型\)

\(0-->'a' -->0+'a'\)

\(1-->'b'-->1+'a'\)

\(......................................\)

\(8-->'y' -->8+'a'\)

\(9-->'z'-->9+'a'\)

\(故式子为(char)(t+'a')\)

2.\(顺序分解分解各个位数的数字\)

\(789:\)

\(7=789÷10^2\)

\(89=789\)%\(10^2\)

\(8=89÷10\)

\(9 = 89\)%\(10\)

\(9 = 9÷1\)

所以代码是:

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;
}

倒数第N个字符的更多相关文章

  1. php去掉字符串的最后一个字符附substr()的用法

    转自:http://www.jb51.net/article/26604.htm 今天项目中用到,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符"," ...

  2. linux sed awk seq 正则使用 截取字符 之技巧

    [root@room9pc01 ~]# seq 5 1 2 3 4 5 [root@room9pc01 ~]# seq 2 5 2 3 4 5 seq 1 2 10 1 3 5 7 9 [root@d ...

  3. python按照指定字符或者长度 截取字符串

    1.截取指定位置字符串 Python字符串可以理解为一个数组,获取某一部分的可以使用 str[beginIndex:endPosition],其中str为需要截取的字符串,beginIndex为需要截 ...

  4. python3:实现字符串的全排列(无重复字符)

    最近在学一些基础的算法,发现我的数学功底太差劲了,特别是大学的这一部分,概率论.线性代数.高数等等,这些大学学的我是忘得一干二净(我当时学的时候也不见得真的懂),导致现在学习算法,非常的吃力.唉!不说 ...

  5. python3实现字符串的全排列的方法(无重复字符)

    https://www.jb51.net/article/143357.htm 抛出问题 求任意一个字符串的全排列组合,例如a='123',输出 123,132,213,231,312,321.(暂时 ...

  6. 02-oracle字符函数

    字符函数(scott/tiger 登陆) --upper(col name)将字符大写 --lower(col name)将字符小写 --initcap(col name)字符串的首字母大写,其余小写 ...

  7. windows批处理学习(字符换操作)---04

    转自:https://www.cnblogs.com/DswCnblog/p/5432326.html 1.截取字符串 截取字符串可以说是字符串处理功能中最常用的一个子功能了,能够实现截取字符串中的特 ...

  8. Oracle中的字符函数

    Oracle中常用的字符串函数有以下几种: 1.upper()---将字符串的内容全部转换为大写.lower()---将字符串的内容全部转换为小写.具体用法: select  upper('test' ...

  9. JS 截取字符的方法

    substr() 方法 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符. stringObject.substr(start,length) start:必需.要抽取的 ...

随机推荐

  1. 学习廖雪峰的Git教程2--远程仓库

    今天跳过之前版本管理,先来学习远程仓库内容: 1.创建ssh(这是为没有ssh key准备的,如果有就可以进行下一步: 敲入 $ ssh-keygen -t rsa -C "youremai ...

  2. 请写出你最常见到的5个runtime exception?

    对于一个有1-2年左右编程经验的人来说,总会经常遇到一些常见的异常,其中有些就是Runtime Exception.比如: NullPointerException - 当调用一个未初始化的引用变量( ...

  3. 什么是 Ribbon负载均衡?

    (1)Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具. (2)Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等.简单的说,就是在配 ...

  4. Jakarta Java Mail属性参数配置

    前言 Jakarta Mail网址:https://eclipse-ee4j.github.io/mail SMTP协议可匹配的属性:https://eclipse-ee4j.github.io/ma ...

  5. 查看mysql相关信息

    查看本机mysql的相关信息,执行以下SQL即可: SHOW VARIABLES LIKE "%char%";

  6. 以太网在汽车行业中的挑战——灵活的接口及软件使ECU开发不再复杂

    以太网在汽车行业中的挑战--灵活的接口及软件使ECU开发不再复杂 以太网将会在一批新车型中作为一个车载系统网络使用.因此,下一步就是以太网和现有汽车网络技术的集成,包括:CAN.FlexRay.LIN ...

  7. .NET Core Ecosystem

    .NET .NET Blog Application Models Web Mobile Desktop Microservices Gaming Machine Learning Cloud Int ...

  8. vue H5 超简单的swiper制作抖音上拉切换视频播放

    -----html部分------ <swiper vertical :style="{height: windowheight+'px',width:375+'px'}" ...

  9. 切图崽的自我修养-[ES6] 迭代器Iterator浅析

    Iterator 这真是毅种循环 Iterator不是array,也不是set,不是map, 它不是一个实体,而是一种访问机制,是一个用来访问某个对象的接口规范,为各种不同的数据结构提供统一的访问机制 ...

  10. W3School 教程整理

    离线版大部分整理自 w3cschool ,少部分整理自 w3school ,由本人整理. 感谢 w3cschool 站长的无私奉献. 由于本人精力有限,此处的列表不一定能够及时更新,最新版本请到本人博 ...