假定一种编码的编码范围是a-y的25个字母,从1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下:
a,aa,aaa,aaaa,aaab,aaac,…,…,b,ba,baa,baaa,baab,baac,… …,yyyw,yyyx,yyyy
其中a的Index为0,aa的Index为1,aaa的Index为2,以此类推。
编写一个函数,输入是任意一个编码,输出这个编码对应的index,如:
输入:baca
输出:16331

例:a排列组合

> {a,aa,aaa,aaaa,aaab,......,aaay,aab,aaba,aabb,......,aaby,...                  ...,aay,aaya,aayb,......,aayy,ab,aba,abaa,abab,......,abay,...,                     ...,ay,aya,ayaa,ayab,......,ayay,...,                  ...,ayyy,
}

若首字母为a共有多少种组合:
①a 1种
②a _ 25种
③a _ _ 25x25种
④a _ _ 25x25x25种
若第二个字母为a共有多少种组合:
a 1种
②_a _ 25种
③_a _ _ 25x25种
若第三个字母为a共有多少种组合:
①_ a 1种
a _ 25种
若第四个字母为a共有多少种组合:
_ _ a 1种

所以当baca时以b开头时,前面有a开头(b-a)x(1+25+2525+252525),第二位是a,(a-a)+1(但不能为空),第三位为c,(c-a)x(1+25)+1,第四位为a,(a-a)+1
baca=(1+25+25
25+252525)+1+2x(1+25)+1=16331

#include<stdio.h>
#include<iostream>
int main()
{char word[4]={0,0,0,0};scanf("%s", word);int carry[4]={1+25+25*25+25*25*25,1+25+25*25,1+25,1,};int answer=0;int i=0;if (word[0]-'a'>=0&&word[0]-'z'<0){answer=answer+((word[0]-'a')*(carry[0]));}if (word[1]-'a'>=0&&word[1]-'z'<0){answer=answer+((word[1]-'a')*(carry[1]))+1;}if (word[2]-'a'>=0&&word[2]-'z'<0){answer=answer+((word[2]-'a')*(carry[2]))+1;}if (word[3]-'a'>=0&&word[3]-'z'<0){answer=answer+((word[3]-'a')*(carry[3]))+1;}printf("%d",answer);return 0;
}

假定一种编码的编码范围是a-y的25个字母,形成一个数组如下: a,aa,aaa,aaaa,aaab,aaac,...yyyy 其中a的Index为0aa的Index为1aaa为2,以此类推。相关推荐

  1. Java几种常见的编码方式

    几种常见的编码格式  为什么要编码  不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的 ...

  2. 动态优化器—一种感知视频编码优化框架

    Netflix提出了一种基于感知视频编码优化框架,在非峰值流时间期间,将此编码系统应用于AVC-High和VP9数据流,提高了用户的视频质量的同时并节省了带宽.LiveVideoStack对本文进行了 ...

  3. Redis源码-Set:Redis Set存储原理、Redis Set集合操作命令、Redis Set两种存储底层编码intset+hashtable、Redis Set应用场景

    Redis源码-Set:Redis Set存储原理.Redis Set集合操作命令.Redis Set两种存储底层编码intset+hashtable.Redis Set应用场景 Redis数据类型 ...

  4. Redis源码-ZSet:Redis ZSet存储原理、Redis ZSet命令、 Redis ZSet两种存储底层编码ziplist/dict+skiplist、Redis ZSet应用场景

    Redis源码-ZSet:Redis ZSet存储原理.Redis ZSet命令. Redis ZSet两种存储底层编码ziplist/dict+skiplist.Redis ZSet应用场景 Red ...

  5. 几种 中文字符集编码规范的关系Unicode ,gb2312 , cp936 ,GBK,GB18030

    转自 https://www.cnblogs.com/finallyliuyu/archive/2013/05/10/3071023.html 概要: UTF-8的一个特别的好处是它与ISO- 885 ...

  6. Stanford UFLDL教程 稀疏编码自编码表达

    稀疏编码自编码表达 Contents [hide] 1稀疏编码 2拓扑稀疏编码 3稀疏编码实践 3.1将样本分批为"迷你块" 3.2良好的s初始值 3.3可运行算法 4中英文对照 ...

  7. Gamma codes(γ 编码)的编码和解码过程(encoding and decoding of Gamma codes)

    一个和最优编码长度差距在常数倍之内的方法是γ 编码.γ 编码将间距G表示成长度(length)和偏移(offset)两个部分进行变长编码.G的偏移实际上是G的二进制编码,但是前端的1 被去掉①.比如, ...

  8. FatFs 之二 路径规则、字符编码、编码页、卷管理详解

    写在前面 本文的内容部分来自于 FatFs 的官方文档,但是添加了一些额外的章节及内容.其并不是原版 FatFs 的官方文档的翻译.如果关注与 FatFs 的官方文档,请从本文的 参考 章节前去查看即 ...

  9. 格伦布编码——rice编码无非是golomb编码M为2^x的特例

    格伦布编码 格伦布编码是一种无失真资料压缩方法,由数学家所罗门·格伦布在1960年代提出. Rice编码 Robert F. Rice提出Rice 编码,是以哥伦布编码为基础做改良而更简易的前置码.R ...

  10. 【Android RTMP】x264 编码器初始化及设置 ( 获取 x264 编码参数 | 编码规格 | 码率 | 帧率 | B帧个数 | 关键帧间隔 | 关键帧解码数据 SPS PPS )

    文章目录 安卓直播推流专栏博客总结 一. x264 编码器参数设置引入 二. 获取 x264 编码器参数 三. 设置 x264 编码器编码规格 四. 设置 x264 编码器编码图像数据格式 五. 设置 ...

最新文章

  1. c语言 大数相加,c/c++开发分享C语言计算大数相加的方法
  2. 计算机的英语谚语,英语谚语大全_2017考研:计算机专业考研复习要点_沪江英语...
  3. vue项目H5 跳转微信小程序
  4. SQL Server 批量插入数据的两种方法 - 转
  5. winxp---执行任务计划
  6. python:实现杨辉三角
  7. BP算法推导-softmax层+交叉熵(logloss)
  8. 基于Springboot实现汽车4S店销售管理系统
  9. spring-task
  10. 心理学在生活中的表现和应用_心理学在日常工作和社会生活中的应用.ppt
  11. 微信公众号发红包需要的API证书是什么,如何获取API证书?
  12. 3.2 写一个UR机器人运动学库
  13. ASO优化:iOS如何做好ASO推广
  14. 读书笔记:大数据清洗技术 02
  15. xp计算机管理员账户无法更改,XP系统administrator账户无法显示怎么办
  16. 基于springboot的企业员工工资管理系统(财务系统)
  17. 数论专题(一)数论基本概念
  18. 谷歌浏览器adobe flash player的相关问题
  19. 毕业论文第一步--如何快速写出让人眼前一亮的文献综述论文(citspace)
  20. android开发跳转应用市场进行版本更新

热门文章

  1. 程序员笔试之吉比特雷霆游戏2021届技术类单选题收集整理(十一)
  2. 2015款java 650b duina_整车推荐:9款5000元级别热销山地车
  3. 越狱完发现bigboss源是空白
  4. 服务器开机显示检查电缆,电脑开机显示无VGA电缆是怎么回事,求答!
  5. 深入浅出DockerPDF
  6. 标准误 Standard error 简单解释
  7. 以太网知识3:以太网芯片MAC和PHY的关系
  8. C#反射基础知识实例总结
  9. 【线程状态、等待与唤醒、Lambda表达式、Stream流】
  10. 韩立春21日工作内容