您遇到过一本古老的印度手稿,其中描述了成堆的埋藏宝藏。手稿还告诉您宝藏的位置,除了一些关键数字已间接编码到文本中。您会发现文本使用的是“ Kaadi”系统,这是更常见的“ Katapayadi”系统的受限子集。
(Katapayadi系统是一种古老的印度系统,将数字编码为字母,通常用作记忆长数字的助记符。)
您的任务是解码在Kaadi系统中编码的文本并打印出数值。
细节
输入字符
Kaadi系统基于Katapayadi系统的规则,但仅使用第一行辅音。您在此处的文字已音译为拉丁字母,并且仅包含:
- 元音“ a”,“ e”,“ i”,“ o”,“ u”
- 辅音'g','k','c','j'以及它们的大写形式(代表这些辅音的吸引形式)以及'ṅ'和'ñ'。
(如果用您的语言更方便,则可以选择将'ṅ'接收为'ng',将'ñ'接收为'ny'。)
价值分配
在这个系统中
每个辅音后跟一个元音都有一个与之关联的数字。这些是:
'k'=>1, 'K'=>2,
'g'=>3, 'G'=>4,
'ṅ'=>5,
'c'=>6, 'C'=>7,
'j'=>8, 'J'=>9,
'ñ'=>0
但是请注意,这些值仅在这些辅音后跟有元音时才适用。 kacCi
具有与kaCi
(ka
,Ci
=(1,7))相同的值,因为中间的c不带元音。
此外,两个元音的初始元音或序列代表0
aikaCi
将是:ai
,ka
,Ci
=(0,1,7)文本中间其他任何地方的多余元音都没有值:
kauCia
与相同kaCi
,多余元音可以忽略。
最终数值
一旦找出字母的数字值,就获得最终数字值,其顺序与这些数字相反,即文本中的第一个数字是最终值中的最低有效数字。
例如。
GucCi
具有Gu
and Ci
,所以(
kakakaGo
4,7),所以最终值为74. 是(1,1,1,4),所以答案是4111.
guṅKo
是(3,2),所以编码为23(gungKo
如果使用ASCII -当量。)
输入值
- 包含Kaadi编码文本的字符串
- 将仅包含元音和上述辅音
- 元音总是小写,并且以不超过2个的组出现
- 您可以选择接受5和0的字母作为Unicode字符“ṅ”和“ñ”,或者接受与ASCII等价的“ ng”和“ ny”(它们均以小写形式表示)
- 您可能会认为没有空格或标点符号
输出量
- 由上述规则给定的文本的数值
- 对于空输入,除了0外,还可以使用您选择的语言输出空或任何false-y输出
- 对于无效的输入(除了元音和上述辅音以外的任何输入),输出是不确定的-任何东西
测试用例
"GucCi"
=> 74
"kakakaGo"
=> 4111
"aiKaCiigukoJe"
=> 913720
""
=> 0 //OR empty/falsey output
"a"
=> 0
"ukkiKagijeCaGaacoJiiKka"
=> 1964783210
"kegJugjugKeg"
=> 2891
"guṅKo"
=> 23
"Guñaaka"
=> 104
"juñiKoṅe"
=>5208
(最后一个可以是:
"gungKo"
=> 23
"Gunyaaka"
=> 104
"junyiKonge"
=>5208
如果您愿意的话。)
ord(c)%47%10
给出一个唯一的索引[0..9]
。(使用ord("ṅ")=7749
和ord("ñ")=241
。)
aiaKaci
输入吗?(3个主要元音)