首页 > 试题广场 >

编码

[编程题]编码
  • 热度指数:19413 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
假定一种编码的编码范围是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.

输入描述:
输入一个待编码的字符串,字符串长度小于等于100.


输出描述:
输出这个编码的index
示例1

输入

baca

输出

16331
头像 sigma-yyf
发表于 2022-01-11 23:54:38
c++ 代码 #include<bits/stdc++.h> using namespace std; int main(){ string s; cin >> s; int n = s.length(); vector<int> 展开全文
头像 ༒copy怪
发表于 2022-03-23 18:10:46
import java.util.*; public class Main{ public static void main(String[] args) { Scanner cin = new Scanner(System.in); char[] s = cin.next( 展开全文
头像 一只小书呆
发表于 2023-09-09 11:12:26
s = input() n = len(s) if n == 1: x = ord(s) - 97 print(x * (1+25+25**2+25**3)) elif n == 2: x1 = ord(s[0]) - 97 x2 = ord(s[1]) - 9 展开全文
头像 已注销
发表于 2023-11-16 19:47:32
#include <stdio.h> #include <string.h> int main() { char s[100]; scanf("%s", s); int n = strlen(s); int v[4] = { 1 展开全文
头像 bao_hu_yuan_zhang
发表于 2024-01-10 14:49:55
#include <iostream> using namespace std; int main() { string a; cin>>a; int i=0; int len=a.size(); int ans=0; if( 展开全文
头像 hitzyq1
发表于 2021-09-18 11:22:17
import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; import java.util.Comparator; class CodeComparator implements Comp 展开全文
头像 在喝茶的大白菜很卖萌
发表于 2022-06-16 17:28:18
import java.util.*; public class Main {     public static void main(String[] args) { 展开全文
头像 贪吃的迪恩顶呱呱
发表于 2024-05-16 13:45:25
一共25个字母,列出几个数后可以发现规律 #include <cmath> #include <iostream> using namespace std; int main() { string s; while (cin >> s) { 展开全文
头像 bandiaoz
发表于 2024-12-29 02:26:10
解题思路 这是一个字符串编码问题的优化解法。具体要求: 编码范围是a~y的25个字母 编码长度是1到4位 按字典序排列所有可能的编码 计算给定编码的索引位置 解决方案: 预计算每个位置的权重系数: 第一位: 第二位: 第三位: 第四位: 对每个位置,计算:(字母-'a') * 权 展开全文
头像 17c89
发表于 2024-03-14 13:04:04
import java.util.Scanner; public class Main { private static final int N = 4; public static void main(String[] args){ Scanner in = n 展开全文