这个系列的逻辑/算法

Logic / Algorithm for this Series

本文关键字:算法 个系列      更新时间:2023-10-16

我有一个字符数组,从a到z,我的任务是从这个数组中提取元音,将提取元音索引的序列是这样的, 1,5,9,15,21,25…我无法通过循环创建这个系列,这些数字实际上是数组中的元音。

我不想要元音匹配技术,我想要上面给出的序列逻辑。

如果你真的想用算法来做这个,你可以:

int v = 1;
for (int i = 0; i < 6; i++) {
    printf("%dn", v);
    v += 4 + (i & 2);
}

…但我不确定我是否明白。

我会考虑由Greg Hewgill提出的解决方案是更合适的解决方案,其中您有int vowels[] = {1, 5, 9, 15, 21, 25};vowels[i]是您的功能。然而,如果你想要一个数学函数,Wolfram Alpha建议:

(z(z((9-5z)z-11)+5))/((z-1)^4)+1

http://www.wolframalpha.com/input/?i=1%2C + 5% 2 c + 9% 2 c + 15% 2 c + 21% 2 c + 25

也就是说,我不认为用它来代替数组有什么意义。

您无疑可以找到该序列的公式,但这是正确的吗正确的方法吗?一个字符是否是元音并不确定通过它是否是一个序列的成员;这完全是武断的,而且在不同的语言中并不一定相同:y是一个元音在一些语言中是辅音,在另一些语言中是辅音,在英语中可以是;27、28和29在英语中不存在,但在瑞典语中是元音,等等