【背景知识】听实验室师兄说的一道华为的面试题目。(具体真实来源不究,若题目来源有侵权请告知,思路属个人陋见,仅供学习)
【问题描述】输入一个长度不大于4的字符串(只包含a~y共25个字符),求该字符串对应于字典序的序号,序号从0开始。(可能表述有些不太清楚)
【输入样例】a,aa,aaa,aaaa,aaab,aaay,aab,ab,
【输出样例】0,1,2,3,4,27,28,652.
【代码】
#include<iostream>
#include<cstdlib>
#include<stdio.h>
#include<memory.h>
#include<string>
#include<cmath>
#define f1(x) ((25*25*25+25*25+25+1)*(x-'a')+0)
#define f2(x) ((25*25+25+1)*(x-'a')+1)
#define f3(x) ((25+1)*(x-'a')+1)
#define f4(x) ((1)*(x-'a')+1)
using namespace std;
int f(int i,char ch)
{
switch(i){
case 1:
return