gram
敏捷的棕色狐狸跳过了那只懒狗。
这是一个连字符(pangram)的例子-一个句子,至少包含一次字母表中的每个字母。
一个自枚举全字母短句是符合标准的生产自己的信件数量的分析是一个全字母短句的句子。
实现这一目标的一个例子是
该Pangram包含四个As,一个B,两个C,一个D,三十个E,六个F,五个G,七个H,十一个Is,一个J,一个K,两个L,两个Ms,十八个Ns,十五个Os,两个Ps ,一个Q,五个R,二十七个S,十八个T,两个Us,七个V,八个W,两个X,三个Y和一个Z。
挑战
产生一个函数,输入是通向字母清单的字符串。在示例中,输入将为“此pangram包含”。每个字母的数量必须采用书面形式,并有助于显示的字母数。
规则
- 牛津逗号是可选的
- 在Z之前使用&号(或在硬模式下,包括在函数中的“&”和“ and”之间切换的功能)
- 每个字母都计入总字母数
- 没有非书面数字
- 这是代码高尔夫球,因此以字节为单位的最短代码获胜
- 在亚硝酸ü本周末r是已婚夫妇,这个数字是在女王的英语编写。例如,
nine hundred and ninety-nine Gs
对于出现的999个字母G和nine hundred and nine Gs
909。 - 数量级应以标准的小规模命名约定编写
边缘情况
- 在某些情况下,代码会陷入循环中-例如,如果有两个O,则代码会将计数增加到三个O,这会使代码再次对两个O计数。如果在返回到该值之前计算出其他所有字母都不能解决问题,请认为输入是错误的启动器和输出
false
,null
或者是空字符串。 - 如果一个字母出现999次以上,则该输入应视为错误的启动器。
测试用例
- “此pangram包含”应输出例句
解决方案必须支持的最大书面数量是多少?一百,一千,一百万?
—
Nit
不错的第一个问题!但是,我个人建议将最大字母数限制为999,甚至99个。这将使这种挑战对于没有内置十进制文本的语言更易解决,同时保留所有乐趣。(此外,甚至可能无法测试某些语言中包含数百万个字母的条目。)
—
Arnauld
相关:将整数转换为英语单词
—
Laikoni
Rob enjoys any sentence with two As, two Bs, two Cs, one D, thirty five Es, four Fs, three Gs, nine Hs, eight Is, two Js, one K, two Ls, one M, twenty two Ns, eighteen Os, one P, one Q, nine Rs, twenty three Ss, twenty three Ts, three Us, four Vs, eleven Ws, one X, seven Ys, & one Z.
o
-s 的字符串,但没有用于计数的单词,那么当您使用拼写出来时two
,整个字符串现在具有三个o
-s,这意味着该单词现在不正确,将其切换会使它再次不正确等等